Max + 1


Submit solution

Points: 1.5 (partial)
Time limit: 1.0s
Memory limit: 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho dãy (a) gồm n số nguyên, kí hiệu max(i) là số lớn nhất trong i số đầu tiên. Vỡi mỗi số nguyên dương i, bạn có thể đổi số thứ i trong dãy thành max(i)+1.

Cần thực hiện ít nhất bao nhiêu lần đổi như vậy để thu được một dãy số tăng chặt ?

Đầu vào

Dòng đầu tiên chứa số nguyên n, số phần tử của dãy số (2n2105).

Dòng tiếp theo chứa n số nguyên trong khoảng [106,106], các phần tử của dãy số.

Đầu ra

Một số nguyên duy nhất là kết quả của bài toán.

Ví dụ

Đầu vào 1:

Copy
3
1 1 1

Đầu ra 1:

Copy
2

Giải thích: đổi số thứ 2 và số thứ 3 thu được dãy 1,2,3 tăng chặt.

Đầu vào 2:

Copy
8
1 2 5 2 6 8 6 3

Đầu ra 2:

Copy
4
QDUY

Comments

There are no comments at the moment.