15565 - 귀여운 라이언
2025. 2. 17. 10:32ㆍPS/백준
문제
https://www.acmicpc.net/problem/15565
느낀점
문제 자체는 기본적인 투 포인터 문제였다. 엣지케이스를 잘 검토해보자
풀이
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N, K;
cin >> N >> K;
vector<int> numList(N);
for (int i = 0; i < N; i++)
{
cin >> numList[i];
}
int start = 0, end = 0;
int lion = 0, cnt = 0;
int minValue = 10e6;
while (true)
{
if (lion == K)
{
minValue = min(minValue, cnt);
if (numList[start++] == 1)
{
lion--;
}
if (start >= N)
{
break;
}
cnt--;
}
else
{
cnt++;
if (numList[end++] == 1)
{
lion++;
continue;
}
if (end >= N)
{
break;
}
}
}
if (minValue < 10e6)
{
cout << minValue;
}
else
{
cout << -1;
}
return 0;
}
'PS > 백준' 카테고리의 다른 글
25916 - 싫은데요 (0) | 2025.02.17 |
---|---|
20922 - 겹치는 건 싫어 (0) | 2025.02.17 |
2531 - 회전 초밥 (0) | 2025.02.15 |
22857 - 가장 긴 짝수 연속한 부분 수열 (small) (0) | 2025.02.14 |
2003 - 수들의 합 (0) | 2025.02.14 |