C bài 20.D3: Nối tre


Submit solution

Points: 25 (partial)
Time limit: 1.0s
Memory limit: 20M

Author:
Problem type

Bạn có N cây tre. Chiều dài (tính bằng centimet) của chúng lần lượt là \(l_1\), \(l_2\), ..., \(l_N\).

Mục tiêu của bạn là sử dụng một số cây tre này (có thể là tất cả) để thu được ba cây tre có chiều dài \(A\), \(B\), \(C\). Để làm được điều này, bạn có thể sử dụng ba loại phép thuật sau đây bất kỳ số lần nào:

  • Phép Mở Rộng: Tiêu thụ 1 Điểm Phép Thuật (MP). Chọn một cây tre và tăng chiều dài của nó lên 1.
  • Phép Rút Ngắn: Tiêu thụ 1 MP. Chọn một cây tre có chiều dài ít nhất 2 và giảm chiều dài của nó đi 1.
  • Phép Kết Hợp: Tiêu thụ 10 MP. Chọn hai cây tre và kết hợp chúng thành một cây. Chiều dài của cây tre mới này bằng tổng chiều dài của hai cây tre đã kết hợp. (Sau đó, có thể tiếp tục sử dụng phép thuật trên cây tre này.)

Ít nhất bao nhiêu MP là cần thiết để đạt được mục tiêu?

Ràng Buộc

  • \(3 \leq N \leq 8\)
  • \(1 \leq C < B < A \leq 1000\)
  • \(1 \leq l_i \leq 1000\)
  • Tất cả các giá trị đều là số nguyên.

ĐỊNH DẠNG INPUT

Input được cung cấp từ Standard Input theo định dạng sau:

N
A
B
C
l_1
l_2
:
l_N

ĐỊNH DẠNG OUTPUT

In ra số lượng MP tối thiểu cần thiết để đạt được mục tiêu.

Ví dụ:

Input
5 100 90 80
98
40
30
21
80
Output
23

Chúng ta thu được ba cây tre có chiều dài \(100\), \(90\), \(80\) từ năm cây tre \(98\), \(40\), \(30\), \(21\), \(80\). Chúng ta đã có một cây tre chiều dài \(80\), và chúng ta có thể thu được cây tre chiều dài \(100\) và \(90\) bằng cách sử dụng các phép thuật với tổng chi phí là 23 MP, đây là giải pháp tối ưu.

Giải thích ví dụ mẫu
Ví dụ 1:
  • Input:

    5 100 90 80 98 40 30 21 80

  • Giải thích:

    • Có sẵn cây tre chiều dài 80, cần 23 MP để tạo ra các cây tre chiều dài 100 và 90 từ các cây tre còn lại bằng cách sử dụng các phép thuật.

Lời giải bài tập này: Tại đây

Group giải đáp thắc mắc: Lập trình 24h

Fanpage CLB: CLB lập trình Full House- Việt Nam

Youtube: CLB Lập Trình Full House


Comments

There are no comments at the moment.