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 |
Tags
- 재귀
- 브루트포스
- XR Interaction Toolkit
- c++
- 그래프
- 유니티
- 수학
- ue5
- Team Fortress 2
- 투 포인터
- 다익스트라
- 알고리즘
- 문자열
- 시뮬레이션
- 백트래킹
- 다이나믹 프로그래밍
- 정렬
- DFS
- 스택
- 유니온 파인드
- 구현
- 자료구조
- Unreal Engine 5
- 우선순위 큐
- 그리디 알고리즘
- 누적 합
- VR
- BFS
- 트리
- 백준
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 |