Nước đọng

View as PDF

Submit solution


Points: 0.13 (partial)
Time limit: 0.38s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
VNOI Online 2011Tác giả: Khúc Anh Tuấn
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Năm 2011, tình trạng ngập lụt trong thành phố trở lên nghiêm trọng hơn. Vì vậy, mọi người quyết định xây dựng hệ thống mái che cho toàn thành phố.

Mái che có bề rộng là ~N~, được chia làm ~N~ phần có độ dài như nhau. Độ cao của mỗi phần là ~h_1, h_2, \dots, h_N~. Khi trời mưa, một phần nước sẽ đọng lại trên mái và một phần sẽ thoát ra ngoài theo hai bên trái và phải của mái che. Do đó, thành phố sẽ không phải chịu cảnh mưa lụt như trước.

Nhằm mục đích bảo trì mái che, bạn cần viết chương trình tính lượng nước lớn nhất có thể đọng lại trên mái che.

Input

  • Dòng đầu ghi số ~N~. ~(1 \leq N \leq 100000)~
  • Dòng sau ghi ~N~ số tự nhiên ~h_1, h_2, \dots, h_N~. ~(1 \leq h_i \leq 100000)~

Output

  • Gồm một số duy nhất thể hiện lượng nước tìm được.

Giới hạn

  • 50% số test có ~N \leq 1000~.

Sample Input

5
1 3 1 2 3

Sample Output

3

Comments

Please read the guidelines before commenting.



  • -4
    baonghia123  commented on July 13, 2024, 3:27 a.m.

    var n,i,l:longint; a:array[1..100000] of longint; begin readln(N); for i:=1 to n do begin read(a[i]); end; for i:=2 to n do a[i-1]:=a[i]; n:=n-1; l:=low(longint); for i:=1 to n do if a[i]>l then l:=a[i]; write(l); readln; end.