12167. Іспити


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Існує такий іспит.

  • Іспит складається з \(N\) раундів, які називаються раундами від 1 до \(N\).
  • У кожному раунді ви отримуєте цілу кількість балів від 0 до 100 включно.
  • Ваша кінцева оцінка – це сума \(N−2\) балів, отриманих у раундах, за винятком найвищого та найнижчого.
    • Формально, нехай \(S=(S_1 ​ , S_2 ​ ,…, S_N ​ )\) — це послідовність балів, отриманих у раундах, відсортованих у порядку зростання, тоді остаточна оцінка \(S_2 ​+ S_3 ​+ ⋯ + S_{N−1} ​\) .

Тепер завершилося \(N−1\) раундів іспиту, і ваш бал у раунді \(i\) був \(A_i\) ​.

Виведіть мінімальний бал, який ви повинні отримати в раунді \(N\), щоб отримати кінцеву оцінку \(X\) або вище.

Якщо ваша кінцева оцінка ніколи не буде \(X\) або вищою, незалежно від того, який бал ви отримаєте в раунді \(N\), замість цього виведіть -1.

Зауважте, що ваш рахунок у раунді \(N\) може бути лише цілим числом від 0 до 100.

Обмеження

  • Усі вхідні значення є цілими числами.
  • \(3≤N≤100\)
  • \(0≤X≤100×(N−2)\)
  • \(0≤A_i ​ ≤100\)

Формат вхідних даних

Перший рядок містить цілі числа \(N,X\).

Наступний   рядок містить цілі числа \(A_i\) (\(1 \le i \le N-1\)).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

5 180
40 60 80 50

Приклад вихідних даних

70

Ваші бали в перших чотирьох раундах були 40, 60, 80 і 50.

Якщо ви наберете 70 балів у раунді 5, послідовність балів, відсортованих у порядку зростання, буде S=(40,50,60,70, 80), для кінцевої оцінки 50+60+70=180.

Можна показати, що 70 – це мінімальний бал, який ви повинні набрати, щоб остаточна оцінка становила 180 або вище.

Приклад вхідних даних

3 100
100 100

Приклад вихідних даних

0

Приклад вхідних даних

5 200
0 0 99 99

Приклад вихідних даних

-1

Приклад вхідних даних

10 480
59 98 88 54 70 24 8 94 46

Приклад вихідних даних

45

Коментарі

Ще немає коментарів.