Caisa và các cột trụ

Đề bài

Mô tả

Có n+1 cột trụ được đánh số từ 0 đến n. Trụ số 0 có độ cao bằng 0, trụ số i (với i>0) có độ cao hi.

Người chơi bắt đầu đứng ở trụ số 0 với năng lượng bằng 0. Mỗi bước, người chơi có thể nhảy từ trụ hiện tại (số k) sang trụ kế tiếp (số k+1). Sau khi nhảy, năng lượng của người chơi thay đổi thêm hk−hk+1 (nếu giá trị này âm, người chơi mất năng lượng).

Tại mọi thời điểm, năng lượng của người chơi phải luôn không âm. Mục tiêu là đến được trụ số n.

Người chơi có thể trả 1 đô la để tăng độ cao của một trụ bất kỳ (kể cả trụ số 0) thêm 1 đơn vị, và có thể làm điều này nhiều lần tùy ý. Hãy tính số đô la nhỏ nhất cần trả để hoàn thành trò chơi.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên h1,h2,…,hn.

Dữ liệu ra

In ra một số nguyên — số đô la nhỏ nhất phải trả.

Ràng buộc

  • 1≤n≤105
  • 1≤hi≤105

Ví dụ

Input Output Giải thích
5
3 4 3 2 4
4 Trả 4 đô la để tăng độ cao trụ số 0 lên 4. Sau đó năng lượng tại các trụ lần lượt là 4,1,0,1,2,0≥0.
3
4 4 4
4 Tăng trụ số 0 lên 4 là tối ưu.

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