题目链接:http://codeforces.com/contest/962/problem/A
题意:给你n个数ai,让你找前i个数和大于等于n个数和的一半的最小值。
分析:直接维护个前缀和,然后扫一遍就可以了
AC代码:
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 long long a[200005]; 6 int main(){ 7 ios_base::sync_with_stdio(0); 8 cin.tie(0); 9 int n; 10 cin>>n; 11 memset(a,0,sizeof(a)); 12 for(int i=1;i<=n;i++){ 13 cin>>a[i]; 14 a[i]+=a[i-1]; 15 } 16 for(int i=1;i<=n;i++){ 17 if(a[i]>=(a[n]+1)/2){ 18 cout<<i<<endl; 19 return 0; 20 } 21 } 22 return 0; 23 }