题解 | #获得最多的奖金#
获得最多的奖金
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;
}

老板电器公司氛围 197人发布