trang chủ / đề bài / examsched

Thời gian biểu ôn thi

Đề bài

Mô tả

Ngày mai Peter có bài kiểm tra Sinh học. Cậu biết tin này từ d ngày trước, và bố mẹ cậu lập tức bắt cậu ôn bài theo một quy định nghiêm ngặt: trong ngày thứ i, Peter phải học không ít hơn minTimei giờ và không nhiều hơn maxTimei giờ.

Hôm nay bố mẹ yêu cầu Peter trình bày thời gian biểu ôn tập của cả d ngày. Khổ nỗi Peter chỉ nhớ tổng số giờ cậu đã học là sumTime, chứ không nhớ mỗi ngày học bao nhiêu.

Hãy giúp Peter dựng lại một thời gian biểu gồm d số nguyên không âm schedule1,schedule2,…,scheduled sao cho minTimei≤schedulei≤maxTimei với mọi i, và schedule1+schedule2+⋯+scheduled=sumTime; hoặc cho biết rằng không tồn tại thời gian biểu nào như vậy.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên d và sumTime — số ngày ôn tập và tổng số giờ đã học.
  • d dòng tiếp theo, dòng thứ i chứa hai số nguyên minTimei và maxTimei — số giờ tối thiểu và tối đa Peter có thể học trong ngày thứ i.

Dữ liệu ra

  • Nếu tồn tại thời gian biểu hợp lệ, in ra YES ở dòng đầu, dòng thứ hai in d số nguyên cách nhau bởi dấu cách là thời gian biểu tìm được. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
  • Ngược lại, in ra NO trên một dòng duy nhất.

Ràng buộc

  • 1≤d≤30
  • 0≤sumTime≤240
  • 0≤minTimei≤maxTimei≤8

Ví dụ

Input Output Giải thích
2 5
0 1
3 5
YES
1 4
Ngày 1 học 1 giờ (trong khoảng [0,1]), ngày 2 học 4 giờ (trong khoảng [3,5]), tổng bằng 5. Đáp án 0 5 cũng được chấp nhận.
1 48
5 7
NO Chỉ có một ngày và nhiều nhất học được 7 giờ, không thể đạt tổng 48 giờ.
2 5
4 6
0 0
YES
5 0
Ngày 2 bắt buộc học 0 giờ, nên toàn bộ 5 giờ phải dồn vào ngày 1, và 5 nằm trong khoảng [4,6].

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0