Bấm phím đàn piano

Đề bài

Mô tả

Cho một dãy nốt nhạc a1,a2,…,an, trong đó ai là vị trí của nốt thứ i trên bàn phím piano (số càng lớn thì nốt càng nằm về phía bên phải).

Bạn cần gán cho mỗi nốt một ngón tay bi∈{1,2,3,4,5} để chơi nốt đó. Cách gán ngón được gọi là hợp lệ nếu với mọi 1≤i≤n−1:

  • Nếu ai<ai+1 thì bi<bi+1.
  • Nếu ai>ai+1 thì bi>bi+1.
  • Nếu ai=ai+1 thì bi≠bi+1.

Hãy in ra một cách gán ngón hợp lệ bất kỳ, hoặc cho biết không tồn tại.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số lượng nốt.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

  • Nếu không có cách gán hợp lệ, in ra −1.
  • Ngược lại, in ra n số nguyên b1,b2,…,bn (mỗi số trong {1,2,3,4,5}) cách nhau bởi dấu cách — một cách gán hợp lệ bất kỳ.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1≤n≤105
  • 1≤ai≤2·105

Ví dụ

Input Output Giải thích
5
1 1 4 2 2
2 1 3 2 1 Một cách hợp lệ: 2→1 (nốt bằng nhau, ngón khác nhau), 1→3 (nốt tăng, ngón tăng), 3→2 (nốt giảm, ngón giảm), 2→1 (nốt bằng nhau, ngón khác nhau). Các đáp án khác như 1 4 5 4 5 cũng được chấp nhận.
7
1 5 7 8 10 3 1
1 2 3 4 5 2 1 Nốt tăng liên tục 5 bước rồi giảm 2 bước — có nhiều cách hợp lệ; ví dụ 1 2 3 4 5 4 3 cũng được.
1
50
1 Chỉ có một nốt, dùng ngón nào cũng được.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0