Ghép khúc gỗ (THTA KV Miền Bắc & Trung 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

\(4\) khúc gỗ có độ dài lần lượt là \(A, B, C, D\) mét.

Người ta muốn ghép các khúc gỗ này lại với nhau để tạo thành một khúc gỗ duy nhất. Mỗi lần ghép hai khúc gỗ có độ dài \(X\)\(Y\), chi phí phải trả là \(X + Y\). Sau khi ghép, ta thu được một khúc gỗ mới có độ dài \(X + Y\).

Có thể ghép các khúc gỗ theo nhiều thứ tự khác nhau, và tổng chi phí có thể khác nhau. Nếu trong \(4\) khúc gỗ có \(1\) khúc bằng \(0\) thì không cần ghép khúc gỗ đó.

Yêu cầu: Hãy tìm tổng chi phí nhỏ nhất để ghép các khúc gỗ đã cho thành một khúc gỗ duy nhất.

Input

  • Dòng thứ nhất chứa số tự nhiên \(A\) (\(1 \le A \le 1000\)).
  • Dòng thứ hai chứa số tự nhiên \(B\) (\(1 \le B \le 1000\)).
  • Dòng thứ ba chứa số tự nhiên \(C\) (\(1 \le C \le 1000\)).
  • Dòng thứ tư chứa số tự nhiên \(D\) (\(0 \le D \le 1000\)).

Output

  • In ra một số tự nhiên duy nhất là chi phí nhỏ nhất cần trả.

Example

Test 1

Input
5
5
5
5
Output
40
Note

Một cách ghép tối ưu là:

  • Ghép \(5\)\(5\) được \(10\), chi phí \(10\).
  • Ghép \(5\)\(5\) được \(10\), chi phí \(10\).
  • Ghép \(10\)\(10\) được \(20\), chi phí \(20\).

Tổng chi phí là \(10 + 10 + 20 = 40\).

Test 2

Input
1
2
3
0
Output
9
Note

Khúc gỗ độ dài \(0\) không cần ghép. Một cách ghép tối ưu là:

  • Ghép \(1\)\(2\) được \(3\), chi phí \(3\).
  • Ghép \(3\)\(3\) được \(6\), chi phí \(6\).

Tổng chi phí là \(3 + 6 = 9\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(A = B = C = D\).
  • Subtask \(2\) (\(30\%\) số điểm): \(D = 0\).
  • Subtask \(3\) (\(40\%\) số điểm): Không có ràng buộc bổ sung.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: