Nhà chọc trời (dễ)

Đề bài

Mô tả

Một dãy n lô đất nằm dọc theo một xa lộ, đánh số từ 1 đến n. Trên mỗi lô đất sẽ xây đúng một toà nhà chọc trời. Vì tính chất nền đất khác nhau nên lô thứ i có giới hạn số tầng tối đa là mi: toà nhà ở lô i với ai tầng phải thoả 1aimi.

Theo quy hoạch kiến trúc, không được phép tồn tại các chỉ số j<i<k sao cho aj>aiak>ai. Nói cách khác, mỗi toà nhà không được đồng thời có một toà cao hơn ở phía trái một toà cao hơn ở phía phải (các lô j,k không cần kề lô i).

Hãy chọn a1,a2,,an tuân thủ mọi ràng buộc trên sao cho tổng a1+a2++an đạt lớn nhất có thể.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số lô đất.
  • Dòng thứ hai chứa n số nguyên m1,m2,,mn.

Dữ liệu ra

In ra n số nguyên a1,a2,,an cách nhau bởi dấu cách — kế hoạch xây tối ưu.

Nếu có nhiều phương án cùng đạt tổng lớn nhất, in ra bất kỳ phương án nào.

Ràng buộc

  • 1n1000
  • 1mi109

Ví dụ

Input Output Giải thích
5
1 2 3 2 1
1 2 3 2 1 Có thể xây mọi toà ở mức tối đa, tổng = 9.
3
10 6 8
10 6 6 Không thể chọn (10,6,8)a2=6 thấp hơn cả hai bên. Phương án (10,6,6) cho tổng 22, là tối ưu. Phương án (6,6,8) cũng hợp lệ nhưng chỉ cho tổng 20.

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