PKU3061 (蟻本ver)

#include<iostream>
using namespace std;

int n,S;
#define MAX_N 10000
int a[MAX_N];
int main(){
	cin >> n >> S;
	for(int i = 0; i < n;i++){
		cin >> a[i];
	}
	int res = n + 1;
	int s = 0, t = 0, sum = 0;
	while(true){
		while(t < n && sum < S){
			sum += a[t++];
		}
		if(sum < S) break;
		res = min(res, t - s);
		sum -= a[s++];
	}
	if(res > n){
		res = 0;
	}
	cout << res << endl;
	return 0;
}