P7033 [NWRRC 2016] CodeCoder vs TopForces

题目描述

在 Byteland,竞赛编程非常流行。事实上,每位 Byteland 的公民都在两个编程网站——CodeCoder 和 TopForces 上注册。每个网站都有自己专有的评分系统。每位公民在每个网站上都有一个唯一的整数评分,代表他们的技能。评分越高,技能越好。 Byteland 的人天生乐观。公民 A 认为,如果存在一个 Byteland 公民的序列 $A = P_{0}, P_{1},...,P_{k} = B$,对于某个 $k \ge 1$,使得对于每个 $i (0 \le i < k)$,$P_{i}$ 在一个或两个网站上的评分都高于 $P_{i+1}$,那么他就有机会在编程比赛中击败公民 B。 每位 Byteland 公民都想知道他们在编程比赛中可能击败多少其他公民。

输入格式

输入的第一行包含一个整数 $n$——公民的数量 $(1 \le n \le 100 000)$。接下来的 $n$ 行包含关于评分的信息。第 $i$ 行包含两个整数 $CC_{i}$ 和 $TF_{i}$——第 $i$ 位公民在 CodeCoder 和 TopForces 上的评分 $(1 \le CC_{i}, TF_{i} \le 10^{6})$。每个网站上的所有评分都是不同的。

输出格式

对于每位公民 $i$,输出一个整数 $b_{i}$——他们在编程比赛中可能击败的其他公民数量。每个 $b_{i}$ 应该单独一行输出,顺序与输入中给出的公民顺序相同。

说明/提示

时间限制:2 秒,内存限制:256 MB。 题面翻译由 ChatGPT-4o 提供。