HDU
来源:互联网 发布:衣锦夜行的燕公子知乎 编辑:程序博客网 时间:2024/05/27 03:29
题意:
中文
思路:
维护前缀和,最小前缀和,可以计算出每个右端点的最大子序列。
代码:
#include <bits/stdc++.h>using namespace std;const int MAXN=1e4+7;int a[MAXN]={0},b[MAXN]={0},c[MAXN];int main(){ int n; while(scanf("%d",&n)&&n){ for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=2;i<=n;i++) a[i]+=a[i-1]; b[1]=0;c[1]=1; for(int i=2;i<=n;i++){ if(b[i-1]>=a[i-1]){ b[i]=a[i-1]; c[i]=i; }else{ b[i]=b[i-1]; c[i]=c[i-1]; } } int ans=a[1],ansl=1,ansr=1; for(int i=2;i<=n;i++){ if(a[i]-b[i]>ans){ ans=a[i]-b[i]; ansl=c[i];ansr=i; } } if(ans>=0) cout<<ans<<' '<<a[ansl]-a[ansl-1]<<' '<<a[ansr]-a[ansr-1]<<endl; else cout<<0<<' '<<a[1]-a[0]<<' '<<a[n]-a[n-1]<<endl; }}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- 阿里面试回来,想和 Java 程序员谈一谈
- AJAX详解
- Linux命令总结
- leetcode 211. Add and Search Word
- 如何定位死循环或高CPU使用率(linux)
- HDU
- 并查集
- win10下安装MySQL找不到visual c++ 2013解决办法
- Jsp 作用域通信对象
- oracle权限相关(存储过程、JOB)存过必须要加上Authid Current_User is
- memcache的理解
- 【VPS】+【SS】+【PPTP】+【L2TP】无基础小白用PS4科学联机傻瓜指南
- iOS 设置导航透明的两种方法
- 沉浸式