#2590. 小球装箱游戏(慈溪2014第3题)
小球装箱游戏(慈溪2014第3题)
Description
乐乐小朋友正在玩一个小球装箱的游戏。现在有N 个小球(编号为1 到N),每个小球有一种颜色(红色或者绿色),并且每个小球上都标有一个数字。现在有两个不同的球箱A和B,乐乐想把这些球放进这两个球箱里面,并且保证:1. 每个球箱中球的数量要一样多。
2. 球箱 A中的任意一个球上的数字不.小.于.球箱 B中任意一个球上的数字。
3. 如果红色小球和绿色小球上的数字相同时,红色小球优.先.放入球箱 A。
装箱完成后,乐乐想知道A、B 两个球箱中红色小球和绿色小球各有多少个。由于球的数量比较多,请你编程计算一下吧。
Input Format
输入文件ball.in:输入从文件中读取,输入共N+1 行。第1 行是一个整数N(2≤N≤100000),表示小球的总数。
接下来N 行,第i+1 行两个整数Mi(1≤Mi≤20000)和Pi(Pi 为0 或者1),其中Mi 表示第i 个小球上面的数字,Pi 表示第i 个小球的颜色,0 表示小球是红色,1 表示小球是绿色。
数据保证球的个数N 为偶数。
Output Format
输出文件ball.out:结果输出到文件中,输出共2 行。第1 行两个整数,分别表示球箱A 中红色小球和绿色小球的数量。
第2 行两个整数,分别表示球箱B 中红色小球和绿色小球的数量。
6
1 1
3 0
2 1
4 1
6 0
5 0
2 1
1 2
Hint
【样例1 解释】有6 个小球,3 个红色,3 个绿色。将标有数字4,6,5 的三个小球装在箱子A 中,其 他三个小球装在箱子B 中,箱子A 中的三个小球2 个是红色,1 个是绿色,而箱子B 中的 小球1 个红色,2 个绿色。
【输入输出样例2】
ball.in
8
2 1
2 0
2 0
4 1
2 0
5 1
8 1
1 1
ball.out
1 3
2 2
【样例2 解释】
有8 个小球,其中有3 个标有数字2 的红色小球,标有数字1、2、4、5、8 的绿色小球 各1 个。将标有数字4、5、8 的3 个绿色小球和1 个标有数字2 的红色小球放入球箱A,将 另外2 个标有数字2 的红色小球,1 个标有数字2 的绿色小球和1 个标有数字1 的绿色小球 放入球箱B。注意,放入球箱A 中标有数字2 的小球是红色,因为它比标有数字2 的绿色 小球更优先放入球箱A。
【数据范围约定】
对于60%的数据,1≤N≤10000,1≤Mi≤10000,且保证各小球上标有的数字都不一样。 对于100%的数据,1≤N≤100000,1≤Mi≤20000。