Khai thác quặng

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Người đăng:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Câu 4 đề thi thử HSG tỉnh, Yên Thành 2024-2025

Một công ty đang sở hữu ~n~ mỏ quặng, mỏ quặng thứ ~i~ (~1≤i≤n~) có trữ lượng là ~A_i~. Công ty vừa ký hợp đồng cung cấp lượng quặng là ~S~. Để có lượng quặng khai thác đủ cho hợp đồng, Ban giám đốc quyết định đưa ra phương án ở các mỏ như sau:

  • Lựa chọn ra một giới hạn ~k~ và chỉ khai thác ở mỏ có trữ lượng lớn hơn ~k~.
  • Các mỏ có trữ lượng lớn hơn ~k~ sẽ được khai thác cho đến khi trữ lượng đúng bằng ~k~.
  • Lượng quặng khai thác thừa sẽ được lưu vào kho để phục vụ cho đơn hàng tiếp theo.

Yêu cầu:

Hãy giúp Ban giám đốc xác định giá trị ~k~ để khai thác đủ đảm bảo hợp đồng, và lượng quặng khai thác thừa là ít nhất.

Dữ liệu:

  • Dòng 1: Chứa hai số nguyên dương ~n,S~ (~1≤n≤10^5~).
  • Dòng 2: Ghi n số nguyên dương ~A_1, A_2, ..., A_n~ (~1 ≤A_i ≤ 10^9~ với ~i=1..n~). Dữ liệu đảm bảo ~S ≤ A_1+A_2+...+A_n~

    Kết quả:

Số nguyên ~k~ tìm được đảm bảo đủ lượng quặng cho hợp đồng và lượng quặng khai thác thừa là ít nhất.

Ví dụ

Input1

4 3
5 3 7 8

Output1

6

Input2

4 10
5 3 7 8

Output2

3

Giải thích test ví dụ

  • Trong ví dụ 1, sẽ khai thác ở mỏ 3 và 4 với tổng là (7 – 6 ) + (8 – 6) = 3, vừa đủ quặng cần thiết.
  • Trong ví dụ 2, sẽ khai thác ở mỏ 1, 3 và 4 với tổng là (5 – 3)+(7–3)+(8–3)= 11, lượng quặng thừa 1. Không có phương án tối ưu hơn.

Giới hạn:

  • Có 30% số test ~n ≤ 1000~ và ~A_1 = A_2 = ... = A_n~ (~Ai ≤ 1000~)
  • Có 40% số test khác ~n ≤ 1000~ và ~A_i ≤ 10^3~ (với mọi ~i~ thuộc [~1,n~])
  • Có 30% số test còn lại không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.