会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
サ繌н筻刂挭
博客园
首页
新随笔
联系
订阅
管理
PKU 2593 Max Sequence
分析:和2479一样,只是数据规模不同了。
Code
#include
<
iostream
>
using
namespace
std;
int
a[
100001
],l[
100001
],r[
100002
];
int
main()
{
int
n,sum,max;
while
(
1
)
{
scanf(
"
%d
"
,
&
n);
if
(n
==
0
)
break
;
l[
0
]
=
-
10001
;
sum
=
0
;
for
(
int
i
=
1
;i
<=
n;
++
i)
{
scanf(
"
%d
"
,
&
a[i]);
if
(l[i
-
1
]
>
a[i]
+
sum)
l[i]
=
l[i
-
1
];
else
l[i]
=
a[i]
+
sum;
sum
+=
a[i];
if
(sum
<
0
)
sum
=
0
;
}
r[n
+
1
]
=
-
10001
;
sum
=
0
;
max
=
-
200000
;
for
(
int
i
=
n;i
!=
0
;
--
i)
{
if
(r[i
+
1
]
>
a[i]
+
sum)
r[i]
=
r[i
+
1
];
else
r[i]
=
a[i]
+
sum;
sum
+=
a[i];
if
(sum
<
0
)
sum
=
0
;
if
(l[i]
+
r[i
+
1
]
>
max)
max
=
l[i]
+
r[i
+
1
];
}
printf(
"
%d\n
"
,max);
}
return
0
;
}
posted @
2009-05-24 22:40
黄浩贤
阅读(
282
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告