Khôi phục tranh dãy núi

Đề bài

Mô tả

Một bức tranh dãy núi gồm n đỉnh được vẽ bằng một đường gấp khúc đi qua 2n+1 điểm có tọa độ (1,y1),(2,y2),,(2n+1,y2n+1). Đoạn thứ i nối điểm (i,yi) với điểm (i+1,yi+1).

Một bức tranh được gọi là hợp lệ nếu với mọi chỉ số chẵn i (tức 2i2n) đều có yi1<yiyi>yi+1. Điểm tại vị trí chẵn được gọi là một đỉnh núi.

Từ một bức tranh hợp lệ ban đầu, người ta chọn đúng k đỉnh núi, tăng tung độ của mỗi đỉnh được chọn lên 1 đơn vị (các điểm còn lại giữ nguyên), thu được bức tranh mới với tung độ r1,r2,,r2n+1.

Cho bức tranh sau khi đã chỉnh sửa, hãy khôi phục lại một bức tranh ban đầu hợp lệ. Dữ liệu bảo đảm luôn tồn tại đáp án.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa 2n+1 số nguyên r1,r2,,r2n+1 — tung độ các điểm của bức tranh sau khi chỉnh sửa.

Dữ liệu ra

In ra 2n+1 số nguyên y1,y2,,y2n+1 — tung độ các điểm của một bức tranh ban đầu hợp lệ. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1kn100
  • 0ri100

Ví dụ

Input Output Giải thích
3 2
0 5 3 5 1 5 2
0 4 3 4 1 5 2 Hạ hai đỉnh tại vị trí 24 xuống 1 đơn vị. Bức tranh kết quả vẫn hợp lệ: mỗi đỉnh chẵn vẫn lớn hơn hẳn hai điểm kề. Một đáp án khác cũng được chấp nhận, ví dụ 0 4 3 5 1 4 2.
1 1
0 2 0
0 1 0 Chỉ có một đỉnh tại vị trí 2; hạ nó xuống còn 1, vẫn lớn hơn hai điểm kề bằng 0.

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