?? pku2593.cpp
字號:
int main()
{
int N, i, nfrom, max, temp;
int left[110000], right[110000],num[110000];
while(scanf("%d",&N)!=-1 && N!=0)
{
for(i=0;i<N;i++)
{
scanf("%d",num+i);
}
nfrom=num[0];
left[0]=num[0];
for(i=1;i<N;i++)
{
if(nfrom < 0) nfrom = num[i];
else nfrom=nfrom+num[i];
if(nfrom > left[i-1]) left[i]=nfrom;
else left[i]=left[i-1];
}
nfrom=num[N-1];
right[N-1]=num[N-1];
for(i=N-2;i>=0;i--)
{
if(nfrom < 0) nfrom = num[i];
else nfrom=nfrom+num[i];
if(nfrom > right[i+1]) right[i]=nfrom;
else right[i]=right[i+1];
}
max=left[0]+right[1];
for(i=1;i<N-1;i++)
{
temp=left[i]+right[i+1];
if(temp>max)
max=temp;
}
printf("%d\n",max);
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -