我一直在解決這個問題http://www.codechef.com/DEC13/problems/MARBLEGF/,我不明白爲什麼一次又一次得到運行時錯誤,任何人都可以請幫我這個嗎? 在此先感謝.. !!代碼如下: 以下代碼中運行時錯誤的原因是什麼?
#include<iostream>
using namespace std;
int main()
{
long long int n;
long int q;
int i,a,b,sum_temp=0,flag=0;
char act[10];
cin>>n;
cin>>q;
int array[n],temp[n],temp2[n];
long int sum;
for(i=0;i<n;i++){
cin>>temp[i];
temp2[i]=0;
array[i]=0;
}
while(q>0){
for(i=0;i<3;i++){
cin>>act[i];
}
act[3]='\0';
a=act[1]-'0';
b=act[2]-'0';
if(act[0]=='S'){
if(array[b]==0){
for(i=0;i<=b;i++){
if(i>0){
array[i]=array[i-1]+temp[i];
}else{
array[i]=temp[i];
}
}
}
sum_temp=0;
for(i=a;i<=b && flag==1;i++){
sum_temp=sum_temp+temp2[i];
}
if(a>0){
sum=(array[b]-array[a-1])+sum_temp;
}
else{
sum=array[b]+sum_temp;
}
cout<<sum<<endl;
}
else if(act[0]=='G'){
temp2[a]=b;
flag=1;
}
else if(act[0]=='T'){
temp2[a]=-b;
flag=1;
}
q--;
}
return 0;
}
爲了增加您獲得答案的機會,我建議您更好地設置您的代碼格式,並嘗試更準確地描述錯誤。 –
http://codepad.org/cKo6ldBa – Abhineet
請提供可編譯代碼。 – Abhineet