Educational Codeforces Round 42 (Rated for Div. 2) A. Equator
水题。大意是找到最小的前缀和使其大于等于总和的一半。直接扫一遍比较就好了。值得注意的是 如果sum为奇数,sum=sum/2+1.因为这个wa了一发
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int a[200005];
int main()
{
int n,i,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",a+i);
sum+=a[i];
}
if(sum%2==0)
{
sum/=2;
}
else
{
sum=sum/2+1;
}
int temp=0,flag;
for(i=0;i<n;i++)
{
temp+=a[i];
if(temp>=sum)
{
flag=i;
break;
}
}
printf("%d\n",flag+1);
return 0;
}

浙公网安备 33010602011771号