Cho một dãy số nguyên dương \(a\) có \(n\) phần tử đánh số từ \(1\) đến \(n\), Một đoạn con liên tiếp \(a[l..r]\) được cho là tốt nếu chúng ta có thể chọn một tập con các phần tử trong đoạn có tổng bằng \(s\).
Yêu cầu
Tìm đoạn con tốt có độ dài nhỏ nhất của dãy \(a\).
Input
- Dòng đầu chứa 2 số nguyên \(n,s\).
- Dòng 2 chứa \(n\) số nguyên dương \(a_i\) mô tả dãy \(a\).
Output
- Ghi ra một số là độ dài đoạn con ngắn nhất tìm được hoặc \(-1\) nếu không tìm được dãy thỏa mãn.
Constraints
- \(1\leq n\leq 10^5\)
- \(1\leq a_i\leq s\leq 1000\)
Example
Sample Input
10 100 14 33 22 21 11 5 13 28 61 2 |
Sample Output
5 |
Đoạn con tốt ngắn nhất là dãy \(a[5..9]\) có \(a_5+a_8+a_9 = 100\).