Đổi tiền tối ưu

Đề bài

Mô tả

Andrew còn lại n rúp và muốn đổi sang tiền đô-la và euro. Giá của một đô-la là d rúp, giá của một euro là e rúp. Andrew có thể mua bao nhiêu tờ đô-la và euro tùy ý, trộn lẫn thế nào cũng được.

Các mệnh giá tờ đô-la có sẵn là: 1,2,5,10,20,50,100. Các mệnh giá tờ euro có sẵn là: 5,10,20,50,100,200 (lưu ý bài này không xét tờ 500 euro).

Vì mệnh giá tờ đô-la nhỏ nhất là 1, Andrew có thể mua đúng một số nguyên không âm bất kỳ đô-la. Vì mọi mệnh giá tờ euro đều là bội của 5, tổng số euro mua được phải là bội của 5.

Hãy tìm số rúp nhỏ nhất mà Andrew còn lại sau khi mua đô-la và euro một cách tối ưu.

Dữ liệu vào

  • Dòng thứ nhất chứa số nguyên n — số rúp ban đầu.
  • Dòng thứ hai chứa số nguyên d — giá một đô-la (tính bằng rúp).
  • Dòng thứ ba chứa số nguyên e — giá một euro (tính bằng rúp).

Dữ liệu ra

Một số nguyên duy nhất — số rúp nhỏ nhất Andrew có thể còn lại.

Ràng buộc

  • 1n108
  • 30d100
  • 30e100

Ví dụ

Input Output Giải thích
100
60
70
40 Chỉ có thể mua 1 đô-la (giá 60), vì không có tờ 1 euro. Còn lại 10060=40 rúp.
410
55
70
5 Mua 5 euro (giá 5×70=350) và 1 đô-la (giá 55), tổng 405. Còn lại 410405=5 rúp.
600
60
70
0 Mua 10 đô-la (tổng 600) là tiêu hết, còn lại 0 rúp.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0