AT_arc082_d.[ARC082F] Sandglass

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个由部件 A 和部件 B 组成的沙漏。这些部件中都装有一些沙子。当放置沙漏时,部件 A 或部件 B 其中之一会在上方,剩下的会在下方。

每经过 11 秒,11 克的沙子会从上面的部件流到下面的部件。但是,如果上面的部件中已经没有沙子,则不会有沙子落下。

在初始时刻 00,部件 A 在上方,部件 A 中有 aa 克沙子,部件 B 中有 X−aX-a 克沙子(也就是说,总共一共有 XX 克沙子)。

在时刻 r1,r2,…,rKr_1,r_2,\ldots,r_K 时,沙漏会被翻转一次。这个操作是瞬间完成的,不消耗时间。这里,时刻 tt 指的是从时刻 00 起经过 tt 秒的时刻。

现有 QQ 个询问。每个询问给定 (ti,ai)(t_i, a_i)。对于每个询问,当 a=aia=a_i 时,请回答在时刻 tit_i 时部件 A 中的沙子的克数。

输入格式

输入按以下格式从标准输入给出。

XX KK r1r_1 r2r_2 …\ldots rKr_K QQ t1t_1 a1a_1 t2t_2 a2a_2 …\ldots tQt_Q aQa_Q

输出格式

对于每个查询,输出答案,每行一项。

输入输出样例

  • 输入#1

    180
    3
    60 120 180
    3
    30 90
    61 1
    180 180

    输出#1

    60
    1
    120
  • 输入#2

    100
    1
    100000
    4
    0 100
    90 100
    100 100
    101 100

    输出#2

    100
    10
    0
    0
  • 输入#3

    100
    5
    48 141 231 314 425
    7
    0 19
    50 98
    143 30
    231 55
    342 0
    365 100
    600 10

    输出#3

    19
    52
    91
    10
    58
    42
    100

说明/提示

限制条件

  • 1≤X≤1091 \leq X \leq 10^9
  • 1≤K≤1051 \leq K \leq 10^5
  • 1≤r1<r2<…<rK≤1091 \leq r_1 < r_2 < \ldots < r_K \leq 10^9
  • 1≤Q≤1051 \leq Q \leq 10^5
  • 0≤t1<t2<…<tQ≤1090 \leq t_1 < t_2 < \ldots < t_Q \leq 10^9
  • 0≤ai≤X(1≤i≤Q)0 \leq a_i \leq X \quad(1 \leq i \leq Q)
  • 所有输入值都是整数。

样例解释 1

对于第 1 个查询,最开始部件 A 中有 9090 克沙子,经过 3030 秒减少了 3030 克,剩下 6060 克。
对于第 2 个查询,最开始部件 A 中的 11 克沙子在 11 秒后全部流入 B,之后 5959 秒都不会再有变化。此时在 6060 秒将沙漏翻转,11 秒后查询部件 A 内的沙子的量,所以答案为 11 克。

样例解释 2

无论哪个查询,最开始部件 A 中都有 100100 克沙子,被问的时刻也都在沙漏翻转前。因此结果就是最初数量减去当前时刻值。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页