#888. MAYUI - Máy ủi

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

BiBo mua một mảnh đất có chiều rộng 1 mét và chiều dài N mét, được tạo thành từ N ô liên tiếp, các ô được đánh số từ trái sang phải, từ 1 đến N và mỗi ô có chiều dài 1 mét. Trên các ô đều có các đống đất, đống đất tại ô thứ i có chiều cao h_i . BiBo muốn san bằng các đống đất này để tất cả các đống đất đều có chiều cao là H . Vì vậy, BiBo thuê một chiếc máy ủi, ban đầu bàn ủi trên máy ủi có lượng đất là C=0 mét khối. Máy ủi bắt đầu đi từ trái sang phải, khi nó đến ô thứ i , tùy thuộc vào chiều cao h_i của đống đất i sẽ có một trong hai trường hợp sau:

  • Nếu h_i≥H thì lượng h_i-H đất được thêm vào bản ủi.
  • Nếu h_i<H thì máy ủi phải đổ thêm lượng H-h_i từ bàn ủi cho đống đất i . Sau khi máy ủi đi qua N ô đất, bạn không cần quan tâm trên bàn ủi còn đất hay không còn đất.

Yêu cầu: Hãy tính độ cao H lớn nhất có thể đạt được.

Dữ liệu:

  • Dòng đầu tiên chứa số tự nhiên N\ (1≤N≤10^6) ;
  • Dòng thứ hai chứa N số tự nhiên h_1,h_2,…,h_N\ (1≤h_i≤10^9) ;

Kết quả:

  • Ghi ra một số nguyên dương duy nhất là chiều cao H lớn nhất đạt được.

Ví dụ:

Dữ liệu:

4
5 2 1 6

Kết quả:

2

Giải thích:

Độ cao H=2

  • Đi qua đống 1 : Lượng đất trên máy ủi: C=3
  • Đi qua đống 2 : Lượng đất trên máy ủi: C=3
  • Đi qua đống 3 : Lượng đất trên máy ủi: C=2
  • Đi qua đống 4 : Lượng đất trên máy ủi: C=6

Không thể có kết quả H=3 vì không đủ đất để đổ vào đống 3 sao cho chiều cao của đống 3 bằng 3 .

Ràng buộc:

  • 50\% số điểm có N≤1000,h_i<1000 .