Hoàn thành tất cả các dự án (bản dễ)
Đề bài
Mô tả
Polycarp là một freelancer với điểm uy tín ban đầu là đơn vị.
Có dự án. Để hoàn thành dự án thứ , Polycarp cần có điểm uy tín ít nhất là tại thời điểm bắt đầu dự án đó. Sau khi hoàn thành dự án thứ , điểm uy tín của anh thay đổi đi đơn vị (tăng nếu , giảm nếu ).
Ngoài ra, điểm uy tín của Polycarp không bao giờ được âm — sau khi hoàn thành mỗi dự án, điểm uy tín phải còn lại không âm.
Hãy xác định liệu có tồn tại một thứ tự thực hiện tất cả dự án sao cho:
- trước khi bắt đầu mỗi dự án, điểm uy tín hiện tại không nhỏ hơn yêu cầu của dự án đó;
- sau khi hoàn thành mỗi dự án, điểm uy tín vẫn không âm.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số dự án và điểm uy tín ban đầu.
- dòng tiếp theo, dòng thứ chứa hai số nguyên và — yêu cầu uy tín và mức thay đổi uy tín của dự án thứ .
Dữ liệu ra
In ra "YES" nếu có thể hoàn thành tất cả các dự án, ngược lại in ra "NO".
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 5 4 -5 4 -2 1 3 |
YES | Thứ tự khả thi: dự án 2, 3, 1. Bắt đầu ; sau dự án 2: ; sau dự án 3: ; sau dự án 1: . |
| 3 4 4 6 10 -2 8 -1 |
YES | Thứ tự khả thi: 1, 2, 3. Uy tín lần lượt là . |
| 3 10 10 0 10 -10 30 0 |
NO | Dự án yêu cầu không bao giờ thực hiện được vì uy tín tối đa đạt được chỉ là . |
| 4 4 5 2 5 -3 2 1 4 -2 |
YES | Thứ tự khả thi: 3, 1, 4, 2. |
Bình luận