codeforces #333 div 2B. Approximating a Constant Range

2015年12月22日 0 作者 CrazyKK

http://codeforces.com/contest/602/problem/B
题意:给定n个数,问最大连续区间长度,满足这段区间内最大值和最小值的差的绝对值小于等于1.
思路:尺取+set。尺取法,由于要时刻得到一段区间的最大值和最小值,而且可能有重复元素,所以用multiset.

需要注意的是,set里最小值是*se.begin() ,最大值是*se.rbegin()这样比较好。。不要用se.end()之类。。。

另一个需要注意的是,multiset里用erase的时候。如果se.erase(x)会把集合里所有的x都删除掉。如果指向删除一个,那么应该写成se.erase(se.find(x))