优质解答
#include
#include
long long max(long long a, long long b)
{
return a > b?a:b;
}
int main()//原题,数据范围最大支持2^63 - 1 -> -2^63
{
long long maxn = 0, sum = 0, maxi = 1LL<<63, a;
int n;
scanf("%d",&n);
while(n--)
{
scanf("%lld",&a);
maxi = max(maxi, a);
sum += a;
if (sum
sum = 0;
maxn = max(maxn, sum);
}
if (maxi
printf("%lld\n",maxi);
else
printf("%lld\n",maxn);
return 0;
}
int run()//提高部分,结束的时候需要文件结束符
{
long long maxn = 0, sum = 0, maxi = 1LL<<63, a;
while(scanf("%lld",&a) != -1)
{
maxi = max(maxi, a);
sum += a;
if (sum
sum = 0;
maxn = max(maxn, sum);
}
if (maxi
printf("%lld\n",maxi);
else
printf("%lld\n",maxn);
return 0;
}