trang chủ / bài tập / nochange

Không Thối Tiền

Đề bài

Mô tả

Nông dân John có K đồng xu với các mệnh giá khác nhau. Anh ta cần thực hiện N giao dịch mua hàng theo thứ tự. Mỗi giao dịch có một chi phí nhất định.

Với mỗi giao dịch, John phải dùng một đồng xu duy nhất để thanh toán. Đồng xu đó phải có giá trị lớn hơn hoặc bằng chi phí giao dịch. Tuy nhiên, người bán không thối tiền, nên phần dư sẽ bị mất. Mỗi đồng xu chỉ được dùng một lần, và khi dùng một đồng xu cho một giao dịch, nó sẽ thanh toán cho một dãy liên tiếp các giao dịch tiếp theo (bắt đầu từ giao dịch hiện tại) cho đến khi tổng chi phí vượt quá giá trị đồng xu.

Cụ thể hơn: John dùng các đồng xu theo thứ tự tùy ý. Mỗi đồng xu được dùng sẽ trả cho một đoạn liên tiếp các giao dịch tiếp theo chưa thanh toán, miễn tổng chi phí không vượt quá mệnh giá đồng xu. Các đoạn này phải phủ hết N giao dịch.

Hãy tìm tổng mệnh giá lớn nhất của các đồng xu mà John không cần dùng (tức là giữ lại được nhiều tiền nhất), sao cho các đồng xu còn lại đủ để thanh toán tất cả N giao dịch. Nếu không thể thanh toán hết, in 1.

Dữ liệu vào

  • Dòng đầu: hai số nguyên KN.
  • K dòng tiếp theo: mệnh giá của mỗi đồng xu.
  • N dòng tiếp theo: chi phí của mỗi giao dịch.

Dữ liệu ra

  • Một số nguyên duy nhất: tổng mệnh giá lớn nhất giữ lại được, hoặc 1 nếu không thể thanh toán hết.

Ràng buộc

  • 1K16
  • 1N100000
  • Mệnh giá đồng xu: 1ci108
  • Chi phí giao dịch: 1pj10000

Ví dụ

Input Output Giải thích
3 6
12
15
10
6
3
3
2
3
7
12 John dùng đồng xu 10 để trả 2 giao dịch đầu (6+3=9 ≤ 10), rồi dùng đồng xu 15 để trả 4 giao dịch còn lại (3+2+3+7=15 ≤ 15). Giữ lại đồng xu 12.
2 5
4
3
4
9
7
3
9
-1 Không có cách nào dùng 2 đồng xu (mệnh giá 4 và 3) để trả hết 5 giao dịch có tổng chi phí 32.

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 1.26.3 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