USACO 2016 - Milk Pails

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Farmer John nhận được một đơn đặt hàng đúng \(M\) đơn vị sữa (\(1 \leq M \leq 200\)) và cần giao ngay. Không may, chiếc máy vắt sữa hiện đại của ông vừa bị hỏng, và ông chỉ có hai chiếc xô đựng sữa với dung tích nguyên là \(X\)\(Y\) (\(1 \leq X,Y \leq 100\)) để đong sữa. Ban đầu, cả hai chiếc xô đều rỗng. Với hai chiếc xô này, ông có thể thực hiện tối đa \(K\) thao tác thuộc các loại sau (\(1 \leq K \leq 100\)):

  • Đổ đầy hoàn toàn một trong hai chiếc xô.
  • Đổ hết sữa khỏi một trong hai chiếc xô.
  • Rót sữa từ một chiếc xô sang chiếc còn lại, dừng lại khi chiếc xô thứ nhất rỗng hoặc chiếc xô thứ hai đầy (tùy điều nào xảy ra trước).

Mặc dù FJ biết rằng có thể tổng lượng sữa trong hai chiếc xô cuối cùng không đúng bằng \(M\), hãy giúp ông tính sai số nhỏ nhất giữa \(M\) và tổng lượng sữa trong hai chiếc xô. Nói cách khác, hãy tính giá trị nhỏ nhất của \(|M-M'|\) sao cho FJ có thể tạo ra tổng cộng \(M'\) đơn vị sữa trong hai chiếc xô.

Dữ liệu vào

Dòng duy nhất chứa \(X\), \(Y\), \(K\)\(M\).

Dữ liệu ra

In khoảng cách nhỏ nhất từ \(M\) đến một lượng sữa mà FJ có thể tạo ra.

Ví dụ

Ví dụ 1

Input
14 50 2 32
Output
18
Giải thích

Với tối đa hai bước, FJ có thể thu được các lượng sữa sau trong hai chiếc xô:

(0, 0) = 0 đơn vị
(14, 0) = 14 đơn vị
(0, 50) = 50 đơn vị
(0, 14) = 14 đơn vị
(14, 36) = 50 đơn vị
(14, 50) = 64 đơn vị

Lượng gần 32 đơn vị nhất mà ta có thể đạt được là 14, cho sai lệch bằng 18. Lưu ý rằng để thu được \((0,36)\), cần thêm một bước đổ hết chiếc xô thứ nhất.

Nguồn

USACO 2016 February Contest, Silver - Milk Pails: https://usaco.org/index.php?page=viewproblem2&cpid=620

Tác giả: Brian Dean.

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: