HDU
来源:互联网 发布:震动报警器单片机程序 编辑:程序博客网 时间:2024/06/14 00:17
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1231
解题思路:到达一个新位置的时候,如果他前面的序列和为负,那么我们一定是舍弃它的,所以重新以这个位置为起点。如果前面的序列为正,那么就把这个数字加入,然后与maxsum比较,大的话则更新
AC代码:
#include<cstdio>using namespace std;const int MAXN = 10000 + 5;int arr[MAXN];int main(){ for (int k;scanf("%d", &k) == 1&&k;) { bool flag = 0; for (int i = 0;i < k;i++) { scanf("%d", arr + i); if (arr[i] >= 0) flag = 1; } int presum = 0, maxsum = -1, begin = 0, ansi=0, ansj=0; for (int i = 0;i < k;i++) { if (presum < 0) { presum = 0; begin = i; } presum += arr[i]; if (presum > maxsum) { maxsum = presum; ansi = begin; ansj = i; } } if (flag) printf("%d %d %d\n", maxsum, arr[ansi], arr[ansj]); else printf("0 %d %d\n", arr[0], arr[k - 1]); } return 0;}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- 并发原理及php高并发解决方案
- UE4的AI学习(2)——官方案例实例分析
- QT官网下载与安装
- Java读取图片中的地理坐标(三)
- 图片上传
- HDU
- BeagleBone Black 3
- Android图片之Glide
- javascript的正则如何传递一个变量
- Android 实现自定义自带删除按钮的EditText(带有搜索接口)
- 触发器和存储
- 当前记录被另一用户锁定,解除锁定
- 文件处理命令tail
- JavaWeb--基础进阶《二》:Java基础-变量与数据类型