救救孩子吧
,这代码究竟哪里错了
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n,i,j;
long long c=0,b=0,x,t,t1,t2;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
j=n/2;
for(i=0;i<j;i++)
c+=a[i];
for(i=j;i<n;i++)
b+=a[i];
x=b-c;
t=abs(x);
for(i=0;i<n/2;i++)
{
if(x>0)
{
t1=t;
x-=2LL*a[j++];
t=abs(x);
if(x<=0)
{
if(t>t1)
t=t1;
break;
}
}
if(x<0)
{
t2=t;
x+=2LL*a[--j];
t=abs(x);
if(x>=0)
{
if(t>t2)
t=t2;
break;
}
}
if(x==0)
break;
}
printf("%lld\n",t);
return 0;
}