我一直在解决这个问题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