반응형
-문제
-코드
#include<stdio.h>
#include<vector>
using namespace std;
int main()
{
int n, m, p1=0, p2=0;
scanf("%d %d", &n, &m);
vector<int> a(n+1);
int min = n + 1;
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
int sum = a[0];
while (p1<= p2 && p2 <n)
{
if (sum < m)
{
sum += a[++p2];
}
else
{
if (min > p2 - p1 + 1) min = p2 - p1 + 1;
sum -= a[p1++];
}
}
if (min == n+1) printf("%d", 0);
else printf("%d", min);
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 11728번 배열 합치기 (투포인터 알고리즘) (0) | 2022.07.29 |
---|---|
[백준] 1644번 소수의 연속합 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 2003번 수들의 합 2 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 11724번 연결 요소의 개수 (DFS) (0) | 2022.07.28 |
[백준] 2606번 바이러스 (DFS) (0) | 2022.07.28 |