USACO 2020 - Race

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

Bessie đang chạy một cuộc đua dài \(K\) mét (\(1\le K\le 10^9\)). Cô bắt đầu chạy với vận tốc \(0\) mét mỗi giây. Trong mỗi giây, cô có thể tăng vận tốc thêm \(1\) mét mỗi giây, giữ nguyên vận tốc hoặc giảm vận tốc đi \(1\) mét mỗi giây. Chẳng hạn, trong giây đầu tiên, cô có thể tăng vận tốc lên \(1\) mét mỗi giây và chạy được \(1\) mét, hoặc giữ vận tốc ở mức \(0\) mét mỗi giây và chạy được \(0\) mét. Vận tốc của Bessie không bao giờ được giảm xuống dưới \(0\).

Bessie luôn chạy về phía vạch đích và muốn hoàn thành cuộc đua sau một số nguyên giây (tại thời điểm nguyên này, cô kết thúc ở đúng vạch đích hoặc đã vượt qua vạch đích). Hơn nữa, cô không muốn chạy quá nhanh khi về đích: tại đúng thời điểm Bessie chạy đủ \(K\) mét, cô muốn vận tốc mà mình vừa di chuyển không vượt quá \(X\) mét mỗi giây (\(1\le X\le 10^5\)). Bessie muốn biết cô có thể hoàn thành cuộc đua nhanh đến mức nào ứng với \(N\) giá trị \(X\) khác nhau (\(1\le N\le 1000\)).

Phân nhóm

  • Các test từ \(2\) đến \(4\) thỏa mãn \(N=X=1\).
  • Các test từ \(5\) đến \(10\) không có ràng buộc bổ sung.

Dữ liệu vào

Dữ liệu vào được đọc từ tệp race.in.

Dòng đầu tiên chứa hai số nguyên \(K\)\(N\).

Mỗi dòng trong \(N\) dòng tiếp theo chứa một số nguyên \(X\).

Dữ liệu ra

Ghi ra tệp race.out gồm \(N\) dòng, mỗi dòng chứa một số nguyên là thời gian nhỏ nhất Bessie cần để chạy \(K\) mét sao cho khi về đích, vận tốc của cô không vượt quá \(X\).

Ví dụ

Ví dụ 1

Input
10 5
1
2
3
4
5
Output
6
5
5
4
4
Giải thích

Khi \(X=1\), một phương án tối ưu là:

  1. Tăng vận tốc lên \(1\) m/s, đi được \(1\) mét.
  2. Tăng vận tốc lên \(2\) m/s, đi được \(2\) mét, tổng cộng đã đi được \(3\) mét.
  3. Giữ vận tốc ở mức \(2\) m/s, tổng cộng đã đi được \(5\) mét.
  4. Giữ vận tốc ở mức \(2\) m/s, tổng cộng đã đi được \(7\) mét.
  5. Giữ vận tốc ở mức \(2\) m/s, tổng cộng đã đi được \(9\) mét.
  6. Giảm vận tốc xuống \(1\) m/s, tổng cộng đã đi được \(10\) mét.

Khi \(X=3\), một phương án tối ưu là:

  1. Tăng vận tốc lên \(1\) m/s, đi được \(1\) mét.
  2. Tăng vận tốc lên \(2\) m/s, tổng cộng đã đi được \(3\) mét.
  3. Tăng vận tốc lên \(3\) m/s, tổng cộng đã đi được \(6\) mét.
  4. Giữ vận tốc ở mức \(3\) m/s, tổng cộng đã đi được \(9\) mét.
  5. Giữ vận tốc ở mức \(3\) m/s, tổng cộng đã đi được \(12\) mét.

Lưu ý rằng phương án sau đây không hợp lệ khi \(X=3\):

  1. Tăng vận tốc lên \(1\) m/s, đi được \(1\) mét.
  2. Tăng vận tốc lên \(2\) m/s, tổng cộng đã đi được \(3\) mét.
  3. Tăng vận tốc lên \(3\) m/s, tổng cộng đã đi được \(6\) mét.
  4. Tăng vận tốc lên \(4\) m/s, tổng cộng đã đi được \(10\) mét.

Lý do là tại đúng thời điểm Bessie chạy xong \(10\) mét, vận tốc của cô là \(4\) m/s.

Nguồn

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: