Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) B. Order Book
原题: http://codeforces.com/contest/572/problem/B 题目大意: 对n个股票操作进行排序, 最后生成一个Order Book. 操作有两种, buy 和 sell, 后边是股票标号和价钱. 要求对相同操作的相同股票进行合并操作. 然后输出排序后前s个sell和buy的股票. 这里的排序要求是, 对于sell, 先对编号递增排序, 然后取前s (没有s个取所有). 然后再对编号递减排序. 对于buy直接递减排序即可. 分析: 用Java的TreeMap一下就出来了. 因为TreeMap本身就是有序的, 用Collections.reverseOrder()可以改变顺序. 然后取前s个的时候, 可以把set变成stream, 然后limit一下就可以 public void solve(int testNumber, InputReader in, OutputWriter out) { int n = in.readInt(); int s = in.readInt(); int cb = 0; int cs = 0; Map<Integer, Integer> BMap = […]