Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- VR
- 브루트포스
- 정렬
- BFS
- 그리디 알고리즘
- 유니티
- 우선순위 큐
- 유니온 파인드
- 자료구조
- 스택
- 백트래킹
- c++
- 트리
- 문자열
- 백준
- 누적 합
- 다익스트라
- ue5
- Team Fortress 2
- 그래프
- XR Interaction Toolkit
- 수학
- Unreal Engine 5
- 투 포인터
- 다이나믹 프로그래밍
- 구현
- 시뮬레이션
- DFS
- 알고리즘
- 재귀
Archives
- Today
- Total
1일1알
백준 15565번 귀여운 라이언 C++ 본문
https://www.acmicpc.net/problem/15565
15565번: 귀여운 라이언
꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의
www.acmicpc.net
슬라이딩 윈도우
큐를 이용하였다.
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>
using namespace std;
using int64 = long long;
int n, k;
vector<int> v;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> k;
v = vector<int>(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
}
queue<int> q;
bool ans = false;
int len = 987654321;
for (int i = 0; i < n; i++) {
if (v[i] == 2) continue;
if (q.size() == k - 1) {
int lastIdx = q.front();
q.pop();
ans = true;
len = min(len, i - lastIdx + 1);
}
q.push(i);
}
if (ans) cout << len;
else cout << -1;
}
'알고리즘' 카테고리의 다른 글
백준 16719번 ZOAC C++ (0) | 2022.11.17 |
---|---|
백준 8911번 거북이 C++ (0) | 2022.11.16 |
백준 15591번 MooTube (Silver) C++ (0) | 2022.11.14 |
백준 12919번 A와 B 2 C++ (0) | 2022.11.13 |
백준 13164번 행복 유치원 C++ (0) | 2022.11.12 |