#B4433. [语言月赛 202511] 天上掉下个哈基米

[语言月赛 202511] 天上掉下个哈基米

题目描述

哈基米发明了一种无损压缩算法。

对于待压缩数列 A=(A1,A2,⋯ ,An)A=(A_1, A_2, \cdots, A_n),按照 ii 从小到大依次处理 AiA_i,其中 ww 的初始值为 00。

  • 若 i≠1i\neq 1 且 Ai≠Ai−1A_i \neq A_{i-1},压缩结果增加一项 [Ai−1,w][A_{i-1}, w],并将 ww 置 11。
  • 若 i=1i=1 或 Ai=Ai−1A_i=A_{i-1},ww 增加 11。

例如,A=(1,1,1,3,3,2)A=(1, 1, 1, 3, 3, 2) 可以被压缩为 [1,3],[3,2],[2,1][1, 3], [3, 2], [2, 1]。

现在,压缩结果中共有 nn 项,请你计算原数列中第 xx 项(即 AxA_x)的值。

输入格式

第一行为一个正整数 nn。

接下来 nn 行,每行两个正整数 vi,liv_i, l_i,表示压缩结果中的一项。

接下来一行一个正整数 TT,表示询问的个数。

接下来 TT 行,每行一个正整数,表示一个 xx。

输出格式

输出 TT 行,每行一个整数,表示 AxA_x 的值。

3
1 3
3 2
2 1
6
1
2
3
4
5
6
1
1
1
3
3
2

提示

对于 30%30\% 的测试数据,li=1l_i = 1。

对于 100%100\% 的测试数据,1≤n≤1031 \le n \le 10^3,1≤T≤1031 \le T \le 10^3,1≤x≤∑li≤1091 \le x\le \sum l_i \le 10^9,1≤vi,li≤1091 \le v_i, l_i \le 10^9。