P11524 [THUPC 2025 初赛] 背向而行
题目描述
有 $m$ 堆积木,其中第 $i$ 堆积木位于坐标 $x_i$ 的位置,有 $c_i$ 块。
反复执行如下操作,直至无法操作:
- 如果存在两块积木坐标相同,则找到满足条件的积木中坐标最小的两块,将一块坐标减 $1$,另一块坐标加 $1$,
可以证明在有限次操作之后,所有积木的坐标都会不同,此时无法进行操作。
多次询问,每次给定正整数 $k$,问最后左数第 $k$ 块积木的位置。保证询问的 $k$ 严格递增。
输入格式
第一行一个正整数 $m$。保证 $1\le m \le 2\times 10^6$。
接下来 $m$ 行,其中第 $i$ 行两个正整数 $x_i,c_i$。保证 $1\le x_i \le 10^9$,$1\le c_i \le 10^9$。保证 $x_i$ 按照输入的顺序严格递增,即 $x_i
输出格式
输出 $q$ 行,每行一个整数,其中第 $i$ 行表示第 $i$ 个询问的答案。
说明/提示
我们用长度为 5 的单调不降数字字符串描述从左往右五块积木的位置,那么操作过程如下所示:
$33344 \to 23444 \to 23345 \to 22445 \to 13445 \to 13355 \to 12455 \to 12446 \to 12356$
最终第二块积木坐标为 2,第四块积木坐标为 5。
#### 题目来源
来自 2025 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2025)初赛。
题解等资源可在 查看。