Codeforces Intel Code Challenge Elimination Round 722C

正文索引 [隐藏]

传送门:http://codeforces.com/contest/722/problem/C

题目翻译

给一个序列长度为N的正数序列,一共操作N次每次将序列里的一个位置设置为不可取,在每次删除之后输出序列里的最大连续可取之和。

题解

建一棵区间和最大值线段树,然后每次删除数字的时候,只需要让这个序列最大值断开即可,相当于把当前要删去的位置置为当前最大值的相反数。

代码