Các bài nộp | Làm tốt nhất | Về danh sách bài |
TARDY - Lập lịch giảm thiểu trể hạn |
Có n công việc đánh số từ 1 đến n và một máy để thực hiện chúng. Biết:
- Pi là thời gian cần thiết để hoàn thành công việc i.
- Di là thời hạn hoàn thành công việc i.
Máy bắt đầu hoạt động từ thời điểm 0. Mỗi công việc cần được thực hiện liên tục từ lúc bắt đầu cho tới khi kết thúc, không cho phép ngắt quãng. Giả sử ci là thời điểm hoàn thành công việc i. Khi đó, nếu ci > di ta nói công việc i bị hoàn thành trễ hạn, còn nếu ci ≤ di thì ta nói công việc i được hoàn thành đúng hạn.
Yêu cầu: Tìm trình tự thực hiện các công việc sao cho số công việc hoàn thành trễ hạn là ít nhất.
Tham khảo thuật toán More
Input
- Dòng đầu tiên chứa số nguyên dương n (0 < n ≤ 1000).
- Dòng thứ hai chứa n số nguyên dương p1, p2, ..., pn (0 < pi ≤ 10000).
- Dòng thứ ba chứa n số nguyên dương d1, d2, ..., dn (0 < di ≤ 10000).
Output
- Dòng đầu tiên ghi số lượng công việc bị hoàn thành trễ hạn theo trình tự tìm được.
- Dòng tiếp theo ghi n số nguyên dương là chỉ số của các công việc theo trình tự thực hiện tìm được.
Example
Input:
6
2 4 1 2 3 1
3 5 6 6 7 8
Output:
2
1 3 4 6 2 5
Được gửi lên bởi: | special_one |
Ngày: | 2009-10-17 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C CSHARP CPP JAVA PAS-FPC |