Codeforces 33C Wonderful Randomized Sum

阅读: 评论:0

Codeforces 33C  Wonderful Randomized Sum

Codeforces 33C Wonderful Randomized Sum

题目链接

题目大意:

一个数字序列  可以选择它的一些前缀或后缀中的每个数字都乘以 -1

前缀和后缀可以交叉也可以为空 

问能得到的最大序列和是多少

 

解题思路:

前缀和为 A  后缀和为B 那么中间的就是 C

总和为 S  

S=A+ B + C

所求等于  -(A+B)+C

    ==   -(S-C)+C

    ==  2*C - S

所以求中间的最大和就行了

代码如下:
 

#include<iostream>
using namespace std;
int main()
{int n,i,x;int ans=0;int sum=0;int maxx=0;cin>>n;for(i=0;i<n;i++){cin>>x;sum+=x;ans+=x;maxx=max(ans,maxx);if(ans<=0)ans=0;}cout<<2*maxx-sum<<endl;return 0;
}

 

本文发布于:2024-01-28 22:44:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645304410826.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:COM
标签:Codeforces   Wonderful   Sum   Randomized
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23