51 nod 1065 最小正子段和 排序大法好
来源:互联网 发布:jquery ui.js cdn 编辑:程序博客网 时间:2024/05/27 06:51
思路:对前缀和排序,求相邻前缀和差的最小值和每个前缀和的最小值。
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int inf = 0x3f3f3f3f;const int MAXN = 50005;struct node{ LL sum; int k; bool operator < (const node &a)const{ return a.sum>sum; }}a[MAXN];int main(){ int n; scanf("%d", &n); LL x; a[0].sum=0,a[0].k=0; for(int i=1;i<=n;++i) { scanf("%lld", &x); a[i].sum=a[i-1].sum+x; a[i].k=i; } sort(a+1, a+n+1); LL ans=inf; for(int i=1;i<=n;++i) { if(a[i].sum>0) ans=a[i].sum<ans?a[i].sum:ans; if(a[i].k>a[i-1].k&&a[i].sum-a[i-1].sum>0) ans=min(a[i].sum-a[i-1].sum, ans); } printf("%lld\n", ans); return 0;}
阅读全文
0 0
- 51 nod 1065 最小正子段和 排序大法好
- 51Nod 1065 最小正子段和(归并 贪心,好题)
- 51nod 1065 最小正子段和 (贪心_好题)
- 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 最小正子段和 前缀和
- C++笔试题(剑指offer 面试题5 将单向链表数据,逆向打印输出)
- 记录一下 Spring 如何扫描注解的 Bean 与资源
- IDEA Mybatis Plugin 3.21
- ImportError: No module named 'yaml'
- 程序员的成长攻略
- 51 nod 1065 最小正子段和 排序大法好
- osgEarth要素样式 7. feature_draped_polygons.earth
- floyd 求传递闭包
- Python数据可视化-seaborn Seaborn
- jdbcTemplate中in的用法
- 使用C语言扩展lua语言功能
- Mac homebrew安装的软件的位置
- 打印幻灯片去掉空白边缘
- jquery学习记录2