Bút chì và hộp
Nộp bài giải
Điểm:
7,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Dart, Go, Groovy, Java, Javascript, Kotlin, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Typescript, Zig
Cho một dãy số nguyên — độ đậm màu của chiếc bút chì. Bạn muốn xếp toàn bộ bút chì vào các hộp (số lượng hộp tùy ý, mỗi hộp có thể chứa số bút khác nhau) sao cho cả ba điều kiện sau đều được thỏa mãn:
- Mỗi chiếc bút thuộc về đúng một hộp.
- Mỗi hộp không rỗng phải chứa ít nhất chiếc bút.
- Với mọi cặp bút thuộc cùng một hộp, .
Lưu ý chiều ngược lại không bắt buộc: hai chiếc bút có thể có nhưng vẫn được xếp vào hai hộp khác nhau.
Hãy xác định liệu có cách xếp hợp lệ hay không.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , — số lượng bút, kích thước tối thiểu của mỗi hộp không rỗng, và chênh lệch độ đậm tối đa cho phép trong cùng một hộp.
- Dòng thứ hai chứa số nguyên — độ đậm của từng chiếc bút.
Dữ liệu ra
In ra YES nếu tồn tại cách xếp hợp lệ, ngược lại in NO.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 3 10 7 2 7 7 4 2 |
YES | Có thể xếp tất cả bút vào cùng một hộp: chênh lệch lớn nhất là và kích thước . |
| 6 2 3 4 5 3 13 4 10 |
YES | Xếp thành hai hộp và (mỗi hộp bút, chênh lệch ), còn vào hộp thứ ba (chênh lệch ). |
| 3 2 5 10 16 22 |
NO | Với mảng sau khi sắp xếp : không cặp nào có chênh lệch , nên không thể ghép hai bút vào cùng hộp. Mà và buộc phải có ít nhất một hộp chứa bút. |
Bình luận