답안 #1114824

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1114824 2024-11-19T16:33:08 Z AdamGS JJOOII 2 (JOI20_ho_t2) C++17
0 / 100
1 ms 336 KB
#include <bits/stdc++.h>

using namespace std;

const int MAX=2*1e5+7;

int kolejnak[MAX];
int kolejnal[MAX];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    
    int n, k;
    cin >> n >> k;

    string s;
    cin >> s;

    queue<int> indeksyj;
    queue<int> indeksyo;
    queue<int> indeksyi;

    int ostatnij=n+2, ostatnio=n+2;

    for (int i=1; i<=n; i++){
        kolejnak[i] = n+1;
        kolejnal[i] = n+1;
    }

    kolejnak[n+1] = n+1;
    kolejnal[n+1] = n+1;

    for (int i=1; i<=n; i++){
        if (s[i-1]=='J'){
            indeksyj.push(i);
            if ((int)indeksyj.size()==k){
                kolejnak[indeksyj.front()] = i;
                indeksyj.pop();
            }
            ostatnij = i;
        }
        else if (s[i-1]=='O'){
            indeksyo.push(i);
            if ((int)indeksyo.size()==k){
                kolejnak[indeksyo.front()] = i;
                indeksyo.pop();
            }
            kolejnal[ostatnij] = i;
            ostatnio = i;
        }
        else{
            indeksyi.push(i);
            if ((int)indeksyi.size()==k){
                kolejnak[indeksyi.front()] = i;
                indeksyi.pop();
            }
            kolejnal[ostatnio] = i;
        }
    }
    
    int wyn=1e9, gdzieskoncze;

    for (int i=1; i<=n; i++){
        //cout << kolejnak[i] << " " << kolejnal[i] << " " << i << endl;
        if (s[i-1]=='J'){
            gdzieskoncze = kolejnak[i];
            gdzieskoncze = kolejnal[gdzieskoncze];
            gdzieskoncze = kolejnak[gdzieskoncze];
            gdzieskoncze = kolejnal[gdzieskoncze];
            gdzieskoncze = kolejnak[gdzieskoncze];
            if (wyn==n+1) continue;
            wyn = min(wyn, (gdzieskoncze-i+1));
        }
    }

    if (wyn==1e9) cout << "-1\n";
    else cout << wyn << "\n";

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -