AT_abc321_b.[ABC321B] Cutoff

普及-

通过率:0%

AC君温馨提醒

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

题目描述

有一个按照以下步骤进行的考试。

  • 考试共分为 NN 轮,从第 11 轮到第 NN 轮。
  • 每一轮都会获得一个在 00 到 100100 之间的整数分数。
  • 在 NN 轮分数中,去掉最高分和最低分后,剩下 N−2N-2 轮的分数之和作为最终结果。
    • 更严格地说,将每轮分数按升序排列为 S=(S1,S2,…,SN)S=(S_1,S_2,\dots,S_N),最终结果为 S2+S3+⋯+SN−1S_2+S_3+\dots+S_{N-1}。

现在,考试已经进行了 N−1N-1 轮,第 ii 轮的分数为 AiA_i。
请输出,为了使最终结果不少于 XX,第 NN 轮至少需要取得的最小分数。
如果无论第 NN 轮取得多少分,最终结果都无法达到 XX,则输出 −1-1。
注意,第 NN 轮可以取得的分数是 00 到 100100 之间的整数。

输入格式

输入以如下格式从标准输入读入。

NN XX A1A_1 A2A_2 …\dots AN−1A_{N-1}

输出格式

请输出答案。

输入输出样例

  • 输入#1

    5 180
    40 60 80 50

    输出#1

    70
  • 输入#2

    3 100
    100 100

    输出#2

    0
  • 输入#3

    5 200
    0 0 99 99

    输出#3

    -1
  • 输入#4

    10 480
    59 98 88 54 70 24 8 94 46

    输出#4

    45

说明/提示

限制条件

  • 输入均为整数。
  • 3≤N≤1003 \leq N \leq 100
  • 0≤X≤100×(N−2)0 \leq X \leq 100 \times (N-2)
  • 0≤Ai≤1000 \leq A_i \leq 100

样例解释 1

前 44 轮的分数为 40,60,80,5040,60,80,50。如果第 55 轮取得 7070 分,则分数升序排列为 S=(40,50,60,70,80)S=(40,50,60,70,80),最终结果为 50+60+70=18050+60+70=180。可以证明,为了使最终结果不少于 180180,第 55 轮至少需要取得 7070 分。

样例解释 2

前 22 轮的分数为 100,100100,100。如果第 33 轮取得 00 分,则分数升序排列为 S=(0,100,100)S=(0,100,100),最终结果为 100100。注意,最大分数 100100 有多个,但只去除其中一个(最小分数同理)。可以证明,为了使最终结果不少于 100100,第 33 轮至少需要取得 00 分。

样例解释 3

前 44 轮的分数为 0,0,99,990,0,99,99。可以证明,无论第 55 轮取得多少分,最终结果都无法达到 200200。

由 ChatGPT 4.1 翻译

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

首页