Trạng thái

ĐỀ BÀI: LOL — SỨC MẠNH ĐỘI HÌNH

Trong một trận đấu League of Legends, đội của bạn có \(N\) vị tướng. Vị tướng thứ \(i\) có sức mạnh là \(A_i\).

Bạn cần chọn một đoạn liên tiếp các vị tướng từ vị trí \(l\) đến \(r\). Sức mạnh của đội hình được tính bởi:

\[S(l, r) = \sum_{i=l}^{r} A_i\]

Một đội hình được coi là đủ mạnh nếu:

\[S(l, r) \ge K\]

Yêu cầu: Tìm độ dài nhỏ nhất (\(r - l + 1\)) của một đội hình đủ mạnh. Nếu không tồn tại đội hình nào thỏa mãn, in ra \(-1\).

Dữ liệu vào:

  • Dòng 1: Chứa hai số nguyên \(N\)\(K\) (\(1 \le N \le 2 \times 10^5, 1 \le K \le 10^{18}\)).
  • Dòng 2: Chứa \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(1 \le A_i \le 10^9\)).

Kết quả ra:

  • In ra một số nguyên duy nhất là độ dài nhỏ nhất tìm được, hoặc \(-1\) nếu không tồn tại.

Ví dụ:

Input

8 15
2 3 1 5 10 2 4 1

Output

2

Giải thích: Đoạn \([5, 10]\) có tổng \(5 + 10 = 15 \ge 15\) và có độ dài bằng \(2\) (ngắn nhất thỏa mãn).

Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
250 M
I/O
stdin -> stdout
Loại đề bài
Phép Toán Cơ Bản
Ngôn ngữ cho phép
C, C++, Python