알고리즘

[알고리즘] 백준 30804 - 과일 탕후루 (C++)

blueberrysoda 2024. 8. 25. 23:22

[문제 링크] : https://www.acmicpc.net/problem/30804

#include <iostream>
#include <queue>
using namespace std;

int N, T, cnt[10], Ans;
queue<int> Q;

int main(){
    cin >> N;
    while(N--){
        int inp;
        cin >> inp;

        Q.push(inp);

        if(cnt[inp]++ == 0){
            T++;
        }

        while(T > 2){
            inp = Q.front();
            Q.pop();

            if(--cnt[inp] == 0){
                T--;
            }
        }

        Ans = max(Ans, int(Q.size()));
    }

    cout << Ans << "\n";
    return 0;
}