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)初赛。 题解等资源可在 查看。