Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Xe tăng
Mô tả và yêu cầu

Xe tăng là một phương tiện có cách di chuyển rất đặc biệt. Các bánh xe của nó trả dài trên
nền đất để tăng diện tích tiếp xúc, từ đó giảm áo lực lên nền, Giả sử xe tăng đang muốn đi từ 𝑎
đến 𝑏, ta có thể chia đoạn đất này thành 𝑛 đoạn nhỏ, đoạn thứ 𝑖 có độ cứng 𝑎𝑖. Một xe tăng có
chiều dài 𝑙, khối lượng 𝑚 có thể đi qua nếu tại mọi thời điểm, nó luôn đứng trên vùng đất có
tổng độ cứng không nhỏ hơn 𝑚 (có nghĩa là mọi đoạn con liên tiếp độ dài 𝑙 của dãy 𝑎 đều phải
có tổng lớn hơn hoặc bằng 𝑚). Cho biết khối lượng 𝑚 của xe tăng, hãy tính chiều dài 𝑙 nhỏ
nhất có thể có của nó để xe tăng đi qua được vùng đất này.

Dữ liệu vào

+ Dòng đầu chứa hai số nguyên 𝑚, 𝑛
+ Dòng tiếp theo chứa lần lượt các số 𝑎1, 𝑎2, … ,𝑎𝑛
Dữ liệu luôn đảm bảo tổng của mảng 𝑎 lớn hơn hoặc bằng 𝑚.

Dữ liệu ra

Một số nguyên duy nhất là chiều dài ngắn nhất có thể của xe tăng.

Giới hạn và chấm điểm

+ 1 ≤ 𝑛 ≤ 105
+ 1 ≤ 𝑎𝑖, 𝑚 ≤ 109

Ví dụ
Input         Output
                                           6 5             3
                                           3 2 1 4 5

Tải PDF gốc


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.