测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A71922. 小球装箱游戏

编程题 入门

题目描述

老师组织同学们玩一个小球装箱游戏。 现在有 N 个小球(编号为 1N),每个小球有一种颜色(红色或绿色),并且每个小球上都标有一个数字。现在有两个不同的球箱 AB,乐乐想把这些球放进这两个球箱里面,并且保证:

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

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

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

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

输入格式

1 行是一个整数 n,表示小球的总数。

接下来 N 行,第 i+1 行两个整数 M_iP_i,其中 M_i 表示第 i 个小球上面的数字,P_i 表示第 i 个小球的颜色,0 表示小球是红色,1 表示小球是绿色。

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

输出格式

输出共有 2 行。

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

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

输入输出样例

输入 #1
6
1 1
3 0
2 1
4 1
6 0
5 0
输出 #1
2 1
1 2
输入 #2
8
2 1
2 0
2 0
4 1
2 0
5 1
8 1
1 1
输出 #2
1 3
2 2

说明/提示

【样例1解释】

6 个小球,3 个红色,3 个绿色。将标有数字 4,6,5 的三个小球装在箱子 A 中,其他三个小球装在箱子 B 中,箱子 A 中的三个小球 2 个红色,1 个是绿色,而箱子 B 中的小球 1 个红色,2 个绿色。

【样例2解释】

8 个小球,其中有 3 个标有数字 2 的红色小球,标有数字 12458 的绿色小球各 1 个。将标有数字 4583 个绿色小球和 1 个标有数字 2 的红色小球放入球箱 A,将另外 2 个标有数字 2 的红色小球,1 个标有数字 2 的绿色小球和 1 个标有数字 1 的绿色小球放入球箱 B。注意,放入球箱 A 中标有数字 2 的小球是红色,因为它比标有数字 2 的绿色小球更优先放入球箱 A

【数据范围】

对于 60\% 的数据,1 \le n \le 10000,1 \le M_i \le 10000,且保证各小球上标有的数字都不一样。

对于 100\% 的数据,1 \le n \le 100000,1 \le M_i \le 20000