Kế hoạch luyện tập

View as PDF

Points: 5 (p) Time limit: 2.0s Memory limit: 1G Input: PLAN.INP Output: PLAN.OUT

Hè này, Lam xây dựng cho mình kế hoạch luyện tập chủ động trên một hệ thống lập trình trực tuyến. Hệ thống cung cấp \(N\) bài toán, hai bài toán có nội dung liên quan được sắp xếp liền kề nhau. Các bài toán có độ khó lần lượt là \(a_1,a_2,a_3,...,a_n\). Lam đặt ra mục tiêu là kết thúc đợt nghỉ hè phải ôn luyện được một số nội dung nên phải làm được các bài toán liên quan và có tổng độ khó lớn hơn hoặc bằng \(S\).
Do trong hè còn có nhiều hoạt động khác, Lam cũng muốn mình phải làm ít nhất các bài toán mà vẫn đạt mục tiêu đặt ra

Yêu cầu

Hãy giúp Lam tính ra số lượng bài toán ít nhất liên tiếp nhau cần phải làm để đạt tổng độ khó tối thiểu là \(S\).

Dữ liệu vào

Nhập từ tệp PLAN.INP

  • Dòng \(1\) chứa hai số nguên \(N\)\(S(1 \leq N \leq 10^7,1 \leq S \leq 10^{16})\)
  • Dòng \(2\) chứa \(N\) số nguyên dương \(a_1,a_2,...,a_N(1 \leq a_i \leq 10^9)\)

Dữ liệu ra

Xuất ra tệp PLAN.OUT

  • Một số nguyên là số lượng bài toán Lam cần làm. Trường hợp không có phương án thỏa mãn, ghi ra số \(-1\).

Subtask

  • Subtask \(1(25\%)\): \(N<=100, S \leq 10^6, a_i \leq 10^4\)
  • Subtask \(2(25\%)\): \(N<=5000, S \leq 5.10^9, a_i \leq 10^6\)
  • Subtask \(3(25\%)\): \(N<=10^5, S \leq 10^{14}, a_i \leq 10^9\)
  • Subtask \(4(25\%)\) : Không có ràng buộc gì thêm.
Sample 1st
Input
10 18
5 1 3 9 10 7 4 9 2 8
Output
2
Sample 2rd
Input
5 27
2 3 5 1 9
Output
-1

Comments

There are no comments at the moment.