962A Equator(思路)
题意:输入n个数,问最小前x项和大于这n个数的和的一半。
思路:边输入边累加。
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int inf = 0x3f3f3f3f; int a[200007]; /*void powerinit(){for(int i=1;i<10;i++){ sum[i][0]=1; for(int j=1;j<=9;j++)sum[i][j]=sum[i][j-1]*i; } }*/ ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);} bool cmp(int x,int y){ return x>y; } int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,i; ll sum=0,s=0; cin>>n; memset(a,0,sizeof(a)); for(i=1;i<=n;i++){ cin>>a[i]; a[i]+=a[i-1]; } for(i=0;i<n;i++){ if(a[i]>=(a[n]+1)/2) break; } cout<<i<<endl; return 0; }