题解 | #获得最多的奖金#
获得最多的奖金
https://www.nowcoder.com/practice/247f7bd088764aefa7474cff27489095
#include <stdio.h> int main() { long n; scanf("%ld",&n); long data[n]; for(long i=0;i<n;i++) scanf("%ld",&data[i]); //两头同时往中间求和的原理 long first=data[0],last=data[n-1],sum=0; if(first==last) sum=first; for(long i=1,j=1;i+j<n;) { if(first<last) { first+=data[i]; i++; } if(first>last) { last+=data[(n-1)-j]; j++; } if(last==first) { sum=first; first+=data[i]; i++; } } printf("%ld\n",sum); return 0; }