Giải đấu hiệp sĩ

Đề bài

Mô tả

n hiệp sĩ tham gia một giải đấu, được đánh số từ 1 đến n. Giải đấu diễn ra qua m trận đấu liên tiếp. Trong trận thứ i, tất cả những hiệp sĩ còn lại có số hiệu trong đoạn [li,ri] tham gia thi đấu. Sau trận, chỉ duy nhất hiệp sĩ số xi chiến thắng và tiếp tục giải; mọi hiệp sĩ còn lại trong đoạn [li,ri] bị loại.

Người chiến thắng của trận cuối cùng (xm) là nhà vô địch của giải đấu.

Ta nói hiệp sĩ a đánh bại hiệp sĩ b nếu cả hai cùng tham gia một trận đấu và a là người thắng trận đó. Với mỗi hiệp sĩ, hãy xác định ai là người đã đánh bại mình.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • m dòng tiếp theo, mỗi dòng chứa ba số nguyên li, ri, xi — mô tả một trận đấu.

Dữ liệu đảm bảo hợp lệ và phù hợp với mô tả: tại mỗi trận luôn có ít nhất hai hiệp sĩ còn lại trong đoạn [li,ri], và xi là một trong số đó.

Dữ liệu ra

In ra n số nguyên trên cùng một dòng. Số thứ i là số hiệu hiệp sĩ đã đánh bại hiệp sĩ i. Nếu hiệp sĩ i là nhà vô địch (không thua trận nào), in ra 0.

Ràng buộc

  • 2n3·105
  • 1m3·105
  • 1li<rin
  • lixiri

Ví dụ

Input Output Giải thích
4 3
1 2 1
1 3 3
1 4 4
3 1 4 0 Trận 1: hiệp sĩ 1 và 2 đấu, 1 thắng — 2 bị 1 đánh bại. Trận 2: 1 và 3 đấu, 3 thắng — 1 bị 3 đánh bại. Trận 3: 3 và 4 đấu, 4 thắng — 3 bị 4 đánh bại. Hiệp sĩ 4 vô địch.
8 4
3 5 4
3 7 6
2 8 8
1 8 1
0 8 4 6 4 8 6 1 Trận 1 loại 3 và 5 (đều thua 4). Trận 2 đưa 4, 6, 7 vào đấu — 4 và 7 bị 6 đánh bại. Trận 3: 2, 6, 8 đấu, 8 thắng. Trận 4: 1 và 8 đấu, 1 thắng và là nhà vô địch.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0