有没有大佬帮忙看一下,只能过最后一个样例点。。。。
#include<iostream>
#include<algorithm>
using namespace std;
long long n,l,r,mid,res=1e9+10;
const long long N=1e4+10;
long long q[N],arr[N];
void sum()
{
for(int i=1;i<=n;i++)
arr[i]=q[i]+arr[i-1];
}
bool check(long long mid)
{
if(abs(arr[n]-2*arr[mid])>=res)
return false;
else
{
res=abs(arr[n]-2*arr[mid]);
return true;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>q[i];
sum();
l=0,r=n+1;
while(l+1!=r)
{
mid=(l+r)/2;
if(check(mid))l=mid;
else r=mid;
}
cout<<res<<endl;
return 0;
}