Chen hàng

Đề bài

Mô tả

n người lần lượt đến xếp vào một hàng đợi, theo thứ tự từ người 1 đến người n. Người thứ i được mô tả bởi hai số:

  • ai: độ quan trọng của công việc (số càng lớn thì càng quan trọng). Các giá trị ai tạo thành một hoán vị của các số từ 1 đến n.
  • ci: số lần chen tối đa mà người đó có thể thực hiện.

Khi người thứ i đế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 ai thì hai người đổi chỗ cho nhau (người i tiến lên một vị trí), sau đó người 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 ai, hoặc khi người i đã đổi chỗ đủ ci lần.

Giả sử rằng tại thời điểm người thứ i 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ả n 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 n.
  • Trong n dòng tiếp theo, dòng thứ i chứa hai số nguyên aici, mô tả người thứ i theo đúng thứ tự họ đến.

Dữ liệu ra

In ra n số nguyên trên một dòng: số thứ j là chỉ số của người đứng ở vị trí thứ j 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ừ 1 theo thứ tự họ đến.

Ràng buộc

  • 1n105
  • 1ain, tất cả các ai đôi một khác nhau.
  • 0cin

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ó a2=2>1 nên chen qua người 1, hàng thành 2,1. Người 3 có a3=3 lớn nhất và c3=3 đủ để chen qua cả hai, lên đầu hàng: 3,2,1.
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à 3,1,2 (độ quan trọng 4,2,1). Người 4 (a=3, c=1) chỉ chen được 1 lần, vượt qua người 2 rồi hết lượt: hàng thành 3,1,4,2. Người 5 (a=5, c=2) chen qua 2 người cuối (người 2 và người 4): hàng cuối cùng là 3,1,5,4,2.
2
1 0
2 1
2 1 Người 2 có a2=2>1c2=1 nên chen qua người 1: hàng thành 2,1.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0