AT_abc418_c.[ABC418C] Flush

普及-

通过率:0%

AC君温馨提醒

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

题目描述

在扑克桌上,有 NN 种不同口味的茶包。口味编号为 11 到 NN,第 ii 种口味有 AiA_i 个茶包(1≤i≤N1 \leq i \leq N)。

你将用这些茶包玩一个游戏。该游戏有一个称为难度的参数,取值范围为 11 到 A1+⋯+ANA_1 + \dots + A_N(包含端点)。难度为 bb 的游戏流程如下:

  1. 你声明一个整数 xx,其中 b≤x≤A1+⋯+ANb \leq x \leq A_1 + \dots + A_N。
  2. 庄家从桌上的茶包中选出恰好 xx 个茶包交给你。
  3. 你检查这 xx 个茶包的口味,并从中选出 bb 个茶包。
  4. 如果你选出的 bb 个茶包全部为同一口味,则你获胜;否则你失败。

庄家会尽全力让你失败。

你会得到 QQ 个询问,请分别回答。第 jj 个询问如下:

  • 对于难度为 BjB_j 的游戏,报告你必须在开始时声明的最小整数 xx,以保证获胜。如果无法获胜,则输出 −1-1。

输入格式

输入按如下格式给出:

NN QQ
A1A_1 A2A_2 ⋯\cdots ANA_N
B1B_1
⋮\vdots
BQB_Q

输出格式

输出 QQ 行。

第 jj 行(1≤j≤Q1 \leq j \leq Q)应输出第 jj 个询问的答案。

输入输出样例

  • 输入#1

    4 5
    4 1 8 4
    1
    8
    5
    2
    10

    输出#1

    1
    17
    14
    5
    -1
  • 输入#2

    5 3
    13 13 13 13 2
    5
    12
    13

    输出#2

    19
    47
    51

说明/提示

样例解释 1

对于第 11 个询问,如果你声明 x=1x=1,那么无论庄家选哪一个茶包,你都可以通过选择这一个茶包来满足获胜条件。由于 xx 不能小于 11,所以答案是 11。

对于第 22 个询问,如果你声明 x=17x=17,那么无论庄家选哪 1717 个茶包,你都可以通过选择合适的 88 个茶包来满足获胜条件。反之,如果 x<17x < 17,庄家可以选择茶包使你无法获胜。因此,答案是 1717。

对于第 33 个询问,如果你声明 x=14x=14,那么无论庄家选哪 1414 个茶包,你都可以通过选择合适的 55 个茶包来满足获胜条件。反之,如果 x<14x < 14,庄家可以选择茶包使你无法获胜。因此,答案是 1414。

对于第 44 个询问,如果你声明 x=5x=5,那么无论庄家选哪 55 个茶包,你都可以通过选择合适的 22 个茶包来满足获胜条件。反之,如果 x<5x < 5,庄家可以选择茶包使你无法获胜。因此,答案是 55。

对于第 55 个询问,无论你声明什么 xx,庄家都可以选择茶包使你无法获胜。因此,输出 −1-1。

数据范围

  • 1≤N≤3×1051 \leq N \leq 3 \times 10^5
  • 1≤Q≤3×1051 \leq Q \leq 3 \times 10^5
  • 1≤Ai≤1061 \leq A_i \leq 10^6(1≤i≤N1 \leq i \leq N)
  • 1≤Bj≤min⁡(106,A1+⋯+AN)1 \leq B_j \leq \min(10^6, A_1 + \dots + A_N)(1≤j≤Q1 \leq j \leq Q)
  • 所有输入均为整数。

由 ChatGPT 4.1 翻译

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

首页