Submit solution
Points:
0.13 (partial)
Time limit:
0.38s
Memory limit:
256M
Input:
stdin
Output:
stdout
Problem source:
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
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.