Quy hoạch tuyến tính

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: 700 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(A+B+C\) lá bài, trong đó có đúng \(A\) lá bài được ghi số \(1\), có đúng \(B\) lá bài ghi số \(0\)\(C\) lá bài ghi số \(-1\). Bạn hãy lập trình chọn ra \(K\) lá bài trong số chúng để tổng các số được ghi trên các lá bài là lớn nhất có thể.

Input

  • Một dòng duy nhất chứa bốn số nguyên \(A\), \(B\), \(C\)\(K\).
  • \(0\leq A, B, C\).
  • \(1\leq K\leq A+B+C\leq 2\cdot 10^9\).

Output

In ra tổng lớn nhất tìm được.

Ví dụ

Test 1

Input
2 1 1 3
Output
2

Test 2

Input
1 2 3 4
Output
0

Test 3

Input
2000000000 0 0 2000000000
Output
2000000000

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: