백준 문제풀이

백준 1806번 - C++

diligent_gideok 2022. 5. 18. 23:32
#include <bits/stdc++.h>
using namespace std;
int n,m;
int board[100010];
int ans=0x7fffffff, val;
int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> board[i];
	}
	val = board[0];
	int en = 0;
	for (int st = 0; st < n; st++) {
		while (en < n&&val<m) {
			en++;
			if(en!=n) val += board[en];
		}
		if (en == n) break;
		ans = min(ans, en - st + 1);
		val -= board[st];
	}
	if (ans == 0x7fffffff) ans = 0;
	cout << ans;

}