Xây dựng bể cá (THT B Hải Châu, Đà Nẵng 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(n\) cột, cột thứ \(i\) có độ cao là \(a_i\). Bạn cần thiết lập một mức chiều cao \(h\) (\(h \geq 1\)) sao cho tổng lượng nước đổ vào không vượt quá \(x\) đơn vị. Biết rằng, lượng nước cần để lấp đầy trên cột thứ \(i\) tới mức \(h\) là: \(\max(0, h - a_i)\).

Yêu cầu: Tìm giá trị nguyên lớn nhất của \(h\) sao cho tổng lượng nước sử dụng \(\leq x\).

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\)\(x\) (\(1 \leq n \leq 2 \cdot 10^5; 1 \leq x \leq 10^{14}\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \leq a_i \leq 10^9\)).

Output

  • Ghi một số nguyên dương \(h\) duy nhất là chiều cao tối đa tìm được.

Example

Test 1

Input
7 9
3 1 2 4 6 2 5
Output
4
Note

Ở ví dụ đầu tiên, ta chọn \(h = 4\), chúng ta cần \(w = 8\) đơn vị nước để lấp đầy hồ cá, nhưng nếu \(h = 5\) chúng ta cần \(w = 13\) đơn vị nước để có thể lấp đầy hồ cá, vì vậy đáp án tối ưu trong trường hợp này là \(h = 4\).

Test 2

Input
4 1
1 4 3 4
Output
2

Test 3

Input
3 10
1 1 1
Output
4

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n \leq 1000; x \leq 10^6; a_i \leq 1000\).
  • Subtask \(2\) (\(70\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận (1)

Mới nhất
Tải bình luận...