Chen hàng
Đề bài
Mô tả
Có người lần lượt đến xếp vào một hàng đợi, theo thứ tự từ người đến người . Người thứ được mô tả bởi hai số:
- : độ quan trọng của công việc (số càng lớn thì càng quan trọng). Các giá trị tạo thành một hoán vị của các số từ đến .
- : số lần chen tối đa mà người đó có thể thực hiện.
Khi người thứ đến, người đó đứng vào cuối hàng rồi thực hiện quá trình chen lên như sau: người đó nhìn người đang đứng ngay phía trước mình. Nếu độ quan trọng của người phía trước nhỏ hơn thì hai người đổi chỗ cho nhau (người tiến lên một vị trí), sau đó người lại xét tiếp người mới đứng phía trước. Quá trình dừng lại khi người đứng ngay phía trước có độ quan trọng lớn hơn , hoặc khi người đã đổi chỗ đủ lần.
Giả sử rằng tại thời điểm người thứ vào hàng thì mọi quá trình chen của những người trước đó đã kết thúc. Nếu một lần đổi chỗ có thể xảy ra thì nó chắc chắn xảy ra.
Hãy xác định thứ tự cuối cùng của hàng đợi sau khi tất cả người đã vào và mọi quá trình chen đã dừng.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên .
- Trong dòng tiếp theo, dòng thứ chứa hai số nguyên và , mô tả người thứ theo đúng thứ tự họ đến.
Dữ liệu ra
In ra số nguyên trên một dòng: số thứ là chỉ số của người đứng ở vị trí thứ của hàng (tính từ đầu hàng), sau khi mọi quá trình chen kết thúc. Người được đánh số từ theo thứ tự họ đến.
Ràng buộc
- , tất cả các đôi một khác nhau.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 3 2 3 3 3 |
3 2 1 | Người 1 vào hàng. Người 2 có nên chen qua người 1, hàng thành . Người 3 có lớn nhất và đủ để chen qua cả hai, lên đầu hàng: . |
| 5 2 3 1 4 4 3 3 1 5 2 |
3 1 5 4 2 | Sau khi người 3 vào, hàng là (độ quan trọng ). Người 4 (, ) chỉ chen được lần, vượt qua người 2 rồi hết lượt: hàng thành . Người 5 (, ) chen qua người cuối (người 2 và người 4): hàng cuối cùng là . |
| 2 1 0 2 1 |
2 1 | Người 2 có và nên chen qua người 1: hàng thành . |
Bình luận