11176. Бамбукові палиці


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

Бали: 100
Time limit: 1.0s
Memory limit: 64M

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

У вас є \(N\) бамбукові палочки. Їх довжини у сантиметрах \(l_1, l_2, ... , l_N\) відповідно. Ваша мета - використати деякі з цих палочок (можливо, усі), щоб отримати три бамкові палиці довжинами \(A,B,C\).

Для цього ви можете використовувати три види магії:

  • Магія видовження: вартість 1 МТ (магічна точка). Виберіть одну палочку і збільшіть її довжину на 1.

  • Магія скорочення: вартість 1 МТ. Виберіть 1 палочку і зменшіть її довжину на 1.

  • Магія об'єднання: вартість 10 МТ. Виберіть дві палочки і об'єднайте їх в одну. Довжина нової палочки дорівнює сумарній довжині двох вибраних палочок.

Скільки МТ необхідно для досягнення мети.

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

Перший рядок вхідного потоку містить цілі числа \(N, A, B, C\) (\(3\le N \le 8\), \(1 \le C < B < A \le 1000\)). Числа розділяються пропуском.

Наступні \(N\) рядків містятть довжини бамбукових палочок \(l_i\) (\(1 \le l_i \le 1000\))

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

У вихідний потік виведіть кількість МТ для досягнення мети.

Примітка

До прикладу 1:

  1. Двічі використовує МТ для збільшення 98 до 100. (2 МТ)

  2. Об'єднаємо 30 і 40 за 10 МТ. (10 МТ)

  3. Зменшимо 21 до 20 за 1 МТ (1 МТ)

  4. Об'єднаємо 70 і 20 за 10 МТ. (10 МТ)

Отже, загальна кількість МТ дорівнює 23.

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

5 100 90 80
98
40
30
21
80

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

23

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

8 100 90 80
100
100
90
90
90
80
80
80

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

0

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

8 1000 800 100
300
333
400
444
500
555
600
666

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

243

Коментарі

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