您的位置:首页 > 其它

pku 2593

2009-11-27 12:52 190 查看
#include<stdio.h>
#include<string.h>
const int size = 100002;
const int MININT = -99999999;
int N, A[size], B[size], C[size];
int main()
{
int i, temp, sum;
while (scanf("%d",&N)!=EOF)
{
if (!N)break;
temp = 0;
sum = MININT;
for (i = 1; i <= N; i++)
{
scanf("%d", &A[i]);
if (temp >= 0) temp += A[i];
else temp = A[i];/*不要来个0啊*/
if (temp > sum)
B[i] = sum = temp;
else B[i] = sum;
}
temp = 0, sum = MININT;
for (i = N; i >= 1; i--)
{
if (temp >= 0) temp += A[i];
else temp = A[i];
if (temp > sum)
C[i] = sum = temp;
else C[i] = sum;
}

temp = B[1]+C[2];
for (i = 2; i < N; i++)
if (temp < B[i] + C[i+1])
temp = B[i] + C[i+1];
printf("%d/n", temp);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: