Hàng đợi sân bay

Đề bài

Mô tả

n người đang xếp hàng ở sân bay. Họ được đánh số từ cuối hàng: người thứ 1 đứng ở cuối hàng, còn người thứ n đứng ở đầu hàng. Người thứ i có tuổi là ai.

Người thứ i cảm thấy khó chịu nếu phía trước anh ta có một người trẻ hơn, tức là tồn tại chỉ số j với j>iai>aj. Mức độ khó chịu của người thứ i bằng số người đứng xen giữa anh ta và người trẻ hơn xa nhất về phía trước: nếu j là chỉ số lớn nhất thỏa mãn j>iaj<ai thì mức độ khó chịu bằng ji1.

Hãy tính mức độ khó chịu của từng người trong hàng. Nếu người thứ i không hề khó chịu, in ra 1.

Lưu ý rằng hai người có thể có cùng tuổi, nhưng để phát sinh sự khó chịu thì người đứng gần đầu hàng hơn phải trẻ hơn thực sự.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số người trong hàng.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an là tuổi của từng người.

Dữ liệu ra

In ra n số nguyên: số thứ i là mức độ khó chịu của người thứ i, hoặc 1 nếu người đó không khó chịu.

Ràng buộc

  • 2n105
  • 1ai109

Ví dụ

Input Output Giải thích
6
10 8 5 3 50 45
2 1 0 -1 0 -1 Với người thứ 1 (tuổi 10), người trẻ hơn xa nhất phía trước là người thứ 4 (tuổi 3), giữa họ có 2 người nên đáp án là 2. Người thứ 4 (tuổi 3) là trẻ nhất nên không khó chịu.
7
10 4 6 3 2 8 15
4 2 1 0 -1 -1 -1 Người thứ 1 (tuổi 10) có người trẻ hơn xa nhất là người thứ 5 (tuổi 2), giữa họ có 4 người. Ba người cuối không có ai trẻ hơn ở phía trước.
5
10 3 1 10 11
1 0 -1 -1 -1 Người thứ 4 (tuổi 10) chỉ có người thứ 5 (tuổi 11) ở phía trước, không trẻ hơn, nên in 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.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