您的位置:首页 > 其它

洛谷2629 好消息,坏消息

2015-11-01 21:54 435 查看
题目:http://www.luogu.org/problem/show?pid=2629#

分析:。。。

代码:

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int Tmax=1000005;
int n,a[Tmax],suml[Tmax],sumr[Tmax],fl[Tmax],fr[Tmax],ans;
int main()
{
int i;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
suml[i]=suml[i-1]+a[i];
for(i=n;i>=1;i--)
sumr[i]=sumr[i+1]+a[i];
fl[1]=suml[1];fr
=suml
;
for(i=2;i<=n;i++)
fl[i]=min(fl[i-1],suml[i]);
for(i=n-1;i>=1;i--)
fr[i]=min(fr[i+1],suml[i]);
for(i=1;i<=n;i++)
{
if(a[i]<0) continue;
if(fr[i]-suml[i-1]<0) continue;
if(fl[i-1]+sumr[i]<0) continue;
ans++;
}
printf("%d",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: