trang chủ / bài tập / luxhouse

Nhà sang trọng

Đề bài

Mô tả

N ngôi nhà xếp thành một hàng, đánh số từ 1 đến N từ trái sang phải. Ngôi nhà thứ ihi tầng.

Một ngôi nhà được gọi là sang trọng nếu số tầng của nó lớn hơn thực sự số tầng của mọi ngôi nhà nằm bên phải nó (tức là mọi ngôi nhà có chỉ số lớn hơn).

Với mỗi ngôi nhà i, hãy tính số tầng ít nhất cần xây thêm cho ngôi nhà đó để nó trở thành sang trọng. Nếu ngôi nhà đã sang trọng thì đáp án là 0.

Các câu hỏi độc lập với nhau: khi tính đáp án cho ngôi nhà i, ta không thực sự thay đổi số tầng của bất kỳ ngôi nhà nào.

Dữ liệu vào

  • Dòng đầu chứa số nguyên N, số lượng ngôi nhà.
  • Dòng thứ hai chứa N số nguyên dương h1,h2,,hN, số tầng của từng ngôi nhà.

Dữ liệu ra

In ra N số nguyên a1,a2,,aN cách nhau bởi dấu cách, trong đó ai là số tầng cần xây thêm cho ngôi nhà i để nó trở thành sang trọng.

Ràng buộc

  • 1N105
  • 1hi109

Ví dụ

Input Output Giải thích
5
1 2 3 1 2
3 2 0 2 0 Nhà 3 (cao 3) đã lớn hơn mọi nhà bên phải nên đáp án 0. Nhà 1 cần vượt max(2,3,1,2)=3, xây thêm 3 để đạt 4. Nhà 5 không có nhà nào bên phải nên đã sang trọng, đáp án 0.
4
3 2 1 4
2 3 4 0 Nhà 4 cao nhất và ở cuối nên đáp án 0. Nhà 1 cần vượt max(2,1,4)=4 nên xây thêm 2.

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