#3147. [常州市赛 2024] 早起的鸟儿有虫吃

[常州市赛 2024] 早起的鸟儿有虫吃

题目描述

清晨,丛林里的鸟儿开始了一天的忙碌,吃早餐。

丛林可以看成是一个无限大的网格,每个格子在 00 时刻都有且仅有一只虫子。丛林里有 nn 只鸟,第 ii 只鸟在 00 时刻在第 xix_i 行,第 yiy_i 列。其中,对于所有数据保证 xi=1x_i=1 或 yi=1y_i=1,即第 ii 只鸟初始时一定在第 11 行或第 11 列。

为了简化问题,我们假设鸟都只会向下或向右直线飞行,而虫子是不动的。当鸟儿在任何时刻(包括时刻 00)飞过一个格子时,就会吃掉该格子内的虫子。相应的,该时刻之后,该格子就不再有虫子了。

同时保证:如果一只鸟往下飞,则它的起始位置一定在第一行;如果一只鸟往右飞,则它的起始位置一定在第一列。为了保证鸟的飞行方向唯一,鸟的初始位置不会是 (1,1)(1,1)。

因为所有鸟都喜欢享受连续的免费早餐,所以如果在飞行时到达了一个已经没有虫子的格子,它就会非常不爽,直接停止在这个格子中。测试数据保证所有的鸟在任意时刻的位置互不相同。

需要注意的是,吃早餐的时间是有限的,只有 WW 个单位的时间。因此,如果一只鸟在时刻 WW 开始时还没有停止,那它会在这个时刻开始前被强制停止。

现在,想请聪明的你求出,对于每个 i(1≤i≤n)i(1\le i\le n),第 ii 只鸟吃了多少只虫子?

输入格式

第一行,两个正整数 n,Wn, W,分别表示鸟的数量和吃早餐的总时刻数。

接下来 nn 行,每行两个正整数 xi,yix_i,y_i。

输出格式

共 nn 行,第 ii 行一个正整数,表示第 ii 只鸟吃的虫子数。

输入输出样例 #1

输入 #1

1 5
2 1

输出 #1

5

输入输出样例 #2

输入 #2

2 20
2 1
1 5

输出 #2

4
20

说明/提示

样例 1\textbf 1 解释

仅有的 11 只鸟在时刻 00 从第 22 行第 11 列向右依次飞过 1∼51\sim 5 列, 在时刻 0,1,2,3,40,1,2,3,4 各吃了一只虫子,在时刻 55 开始前被强制停止了,所以共吃了 55 只虫子。

样例 2\textbf 2 解释

第 11 只鸟在时刻 00 从第 22 行第 11 列向右依次飞过 1∼41\sim4 列,在时刻 44 时飞到了第 22 行第 55 列,发现这一格的虫子在时刻 11 就被第 22 只鸟吃掉了,所以共吃了 44 只虫子就停下了。

第 22 只鸟在时刻 00 从第 11 行第 55 列向下沿着第 55 列依次飞过 1∼201\sim20 行,共吃了 2020 只虫子后于时刻 2020 停止。

数据范围

对于所有数据,1≤n≤31\leq n\leq 3,1≤xi,yi≤1091≤x_i,y_i≤10^9,1≤W≤10181\leq W\leq 10^{18}。对于每个 ii 有 xi=1x_i=1 或 yi=1y_i=1,且 xi=yi=1x_i=y_i=1 不被同时满足。

保证所有未停止的鸟在任意时刻位置互不相同,即任意时刻不会有两只鸟到达同一格子。

测试点编号 特殊性质
11 α\alpha
2∼32\sim 3 α,β\alpha,\beta
4∼5,8∼94\sim5,8\sim9 β\beta
6∼7,106\sim7,10 无
  • 特殊性质 α\alpha:n=1n=1。
  • 特殊性质 β\beta:所有鸟的前进方向相同。