博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ745
阅读量:6046 次
发布时间:2019-06-20

本文共 1208 字,大约阅读时间需要 4 分钟。

题目链接:就在南阳上面

思路:刚看到这道题的时候我以为用普通的DP就能做  想了好久状态转移方程也没写出来 最后实在没招在网上搜索了一下才知道这道题分两种情况

就是一个是最大值包括头和尾另一种是不包括 不包括的很简单普通的DP就能做 包括的需要分析最大值是不是最大的 如果不是 就用所有值减去最小值就可以了

下面看代码

#include 
#include
#include
#include
using namespace std; const long long INF = 999999999999999; const int N = 50000 + 10; int a[N]; long long min_num, max_num;//保存字段和的最大值与最小值 int main() { int n; while (~scanf("%d", &n)) { min_num = INF;//初始化 max_num = -INF; long long t1 = 0, t2 = 0; long long sum = 0; for (int i = 0; i < n; i++) { scanf("%lld", &a[i]); sum += a[i]; if (t1 > 0) t1 += a[i]; else t1 = a[i]; if (t1 > max_num) max_num = t1; if (t2 < 0) t2 += a[i]; else t2 = a[i]; if (t2 < min_num) min_num = t2; } if (max_num < sum - min_num) max_num = sum - min_num; printf("%lld\n", max_num); } return 0; }

 

转载于:https://www.cnblogs.com/zhanyage110/p/4281454.html

你可能感兴趣的文章
无锁编程
查看>>
如何在loadrunner中做关联
查看>>
二叉树的六种遍历方法汇总(转)
查看>>
用wxpython制作可以用于 特征筛选gui程序
查看>>
【转载】 [你必须知道的.NET]目录导航
查看>>
数据存储小例
查看>>
C++中构造函数详解
查看>>
电商网站中添加商品到购物车功能模块2017.12.8
查看>>
android 模拟器 hardWare 属性说明
查看>>
六款值得推荐的android(安卓)开源框架简介
查看>>
max_element( )
查看>>
java中的类
查看>>
pthread_create线程创建的过程剖析(转)
查看>>
android存储访问框架Storage Access Framework
查看>>
Mysql C API调用存储过程的总结
查看>>
Oracle的层次查询
查看>>
远程调用服务(RPC)和消息(Message Queue)对比及其适用/不适用场合
查看>>
FreeBSD 的 Ports 系统
查看>>
有关web
查看>>
读Nginx官方文档笔记
查看>>