#C07TL04P05. C07T.L04.实战训练四.题目5.小球装箱游戏(慈溪2014t3)

C07T.L04.实战训练四.题目5.小球装箱游戏(慈溪2014t3)

题目描述

乐乐小朋友正在玩一个小球装箱的游戏。现在有 N 个小球(编号为 1 到 N ),每个小球有一种颜色(红色或者绿色),并且每个小球上都标有一个数字。现在有两个不同的球箱 A 和 B ,乐乐想把这些球放进这两个球箱里面,并且保证:

  1. 每个球箱中球的数量要一样多。

  2. 球箱 A 中的任意一个球上的数字不小于球箱 B 中任意一个球上的数字。

  3. 如果红色小球和绿色小球上的数字相同时,红色小球优先放入球箱 A 。

装箱完成后,乐乐想知道 A 、 B 两个球箱中红色小球和绿色小球各有多少个。由于球的数量比较多,请你编程计算一下吧。

输入格式

共 N+1 行。

第 1 行是一个整数 N ( 2 ≤ N ≤ 100000 ),表示小球的总数。

接下来 N 行,第 i+1 行两个整数 MiM_i ( 1 ≤ MiM_i ≤ 20000 )和 PiP_i ( PiP_i 为 0 或者 1 ),其中 MiM_i 表示第 i 个小球上面的数字,PiP_i 表示第 i 个小球的颜色, 0 表示小球是红色, 1 表示小球是绿色。

数据保证球的个数 N 为偶数

数据规模

对于 60% 的数据, 1 ≤ N ≤ 10000 , 1 ≤ MiM_i ≤ 10000 ,且保证各小球上标有的数字都不一样。

对于 100% 的数据, 1 ≤ N ≤ 100000 , 1 ≤ MiM_i ≤ 20000 。

输出格式

共 2 行。

第 1 行两个整数,分别表示球箱 A 中红色小球和绿色小球的数量。

第 2 行两个整数,分别表示球箱 B 中红色小球和绿色小球的数量。

样例

6
1 1
3 0
2 1
4 1
6 0
5 0
2 1
1 2
8
2 1
2 0
2 0
4 1
2 0
5 1
8 1
1 1
1 3
2 2

样例解释

样例 1 : 有 6 个小球, 3 个红色, 3 个绿色。将标有数字 4 , 6 , 5 的三个小球装在箱子 A 中,其他三个小球装在箱子 B 中,箱子 A 中的三个小球 2 个是红色, 1 个是绿色,而箱子 B 中的小球 1 个红色, 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。