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

Pha trộn dung dịch

Đề bài

Mô tả

k loại dung dịch. Loại thứ i có nồng độ ai1000, và nguồn cung của mỗi loại là không giới hạn.

Bạn muốn pha một cốc dung dịch có nồng độ đúng bằng n1000 bằng cách lấy ci lít dung dịch loại i, trong đó mọi ci đều là số nguyên không âm. Khi trộn, thể tích chất tan và thể tích dung dịch đều cộng dồn, nên nồng độ của cốc thu được là

i=1kai·ci1000·i=1kci.

Cốc phải chứa ít nhất 1 lít dung dịch, tức là ci1.

Hãy tìm tổng thể tích ci nhỏ nhất có thể, hoặc cho biết không tồn tại cách pha nào.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk: nồng độ mong muốn (nhân với 1000) và số loại dung dịch.
  • Dòng thứ hai chứa k số nguyên a1,a2,,ak: nồng độ (nhân với 1000) của từng loại. Các loại khác nhau có thể có cùng nồng độ.

Dữ liệu ra

In ra một số nguyên là tổng số lít nhỏ nhất cần dùng, hoặc 1 nếu không thể pha được nồng độ n1000.

Ràng buộc

  • 0n1000
  • 1k106
  • 0ai1000

Ví dụ

Input Output Giải thích
400 4
100 300 450 500
2 Lấy 1 lít loại có nồng độ 3001 lít loại có nồng độ 500, được 300+5002=400. Không thể chỉ dùng 1 lít vì không loại nào có nồng độ 400.
50 2
100 25
3 Lấy 1 lít loại 1002 lít loại 25, được 100+25+253=50.
500 1
1000
-1 Chỉ có một loại nồng độ 1000, mọi cách pha đều cho nồng độ 1000500.

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