51NOD 1065 最小正子段和
来源:互联网 发布:thinkphp投票系统源码 编辑:程序博客网 时间:2024/05/17 21:51
1065 最小正子段和
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题
N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。
例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。
Input
第1行:整数序列的长度N(2 <= N <= 50000)
第2 - N+1行:N个整数
Output
输出最小正子段和。
Input示例
8
4
-1
5
-2
-1
2
6
-2
Output示例
1
问题其实就是找出 min(sum[j]-sum[i]) {1 < i < j < n+1}
然后很自然的想到2分 平衡树 于是STL水过
set中sum[j]的迭代器-1要找的sum[i]
#include<iostream>#include<stdlib.h>#include<stdio.h>#include<string>#include<vector>#include<deque>#include<queue>#include<algorithm>#include<set>#include<map>#include<stack>#include<time.h>#include<math.h>#include<list>#include<cstring>#include<fstream>//#include<memory.h>using namespace std;#define ll long long#define ull unsigned long long#define pii pair<int,int>#define INF 1000000007#define pll pair<ll,ll>#define pid pair<int,double>//#define CHECK_TIMEll sum[50001];set<ll>exist;int main(){ //freopen("/home/lu/文档/r.txt","r",stdin); //freopen("/home/lu/文档/w.txt","w",stdout); int n; scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%lld",sum+i); ll res=INF; exist.insert(0); for(int i=1;i<=n;++i){ sum[i]+=sum[i-1]; exist.insert(sum[i]); set<ll>::iterator it=exist.find(sum[i]); if(it!=exist.cbegin()){ ll t=sum[i]-*(--it); if(t>0) res=min(t,res); } } printf("%lld\n",res); return 0;}
0 0
- 51nod 1065:最小正子段和
- 51nod 1065 最小正子段和
- 51NOD 1065 最小正子段和
- 51nod 1065 最小正子段和
- 51nod-1065:最小正子段和
- 51nod 1065 最小正子段和
- 51nod 1065 最小正子段和
- 51nod 1065 最小正子段和
- 51nod 1065 最小正子段和
- 51nod 1065 最小正子段和
- 51nod 1065 最小正子段和 -暴力
- 最小正子段和 51Nod
- 51nod oj 1065 最小正子段和 【贪心--区间和】
- 51nod 1065 最小正子段和(前缀和)
- 51Nod 1065 最小正子段和 前缀和
- 51Nod 1065 最小正子段和(归并 贪心,好题)
- 51Nod-1065-最小正子段和
- 51 nod 1065 最小正子段和 排序大法好
- 单向链表的插入排序
- Matlab 中 arrayfun用法
- 补码的加减乘除和移位
- 第24篇 linux下布署apprtc(二)
- 由swr_get_delay想到的
- 51NOD 1065 最小正子段和
- Spring源码阅读(2)- bean解析初体验
- wn_遥远的村下
- (九)修改和删除部门功能模块的实现
- Adb学习
- iOS控件之UIResponder
- [120629]Muv-luv+Muv-luv Alternative【汉化硬盘版】[带全CG存档+攻略,+免安装+卸载+XP补丁+打开存档补丁] 1.gain论坛2.网易博客3.乐乎3.CSDN博
- Linux中umask函数/命令的用法
- 机器视觉-结构光测量之三角测量原理