제출 #1316463

#제출 시각아이디문제언어결과실행 시간메모리
1316463bahaktlJJOOII 2 (JOI20_ho_t2)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>

#define int long long 
#define pb push_back
using namespace std;

const int N=2e5+10;
const int inf=1e18;
const int mod=1e9+7;

vector<int>j,o,i;

signed main() {
    ios_base::sync_with_stdio(NULL);
    cin.tie(NULL);
    int T=1;
    // cin>>T;
    while(T--) {
        int n,k;
        cin>>n>>k;
        string s;
        cin>>s;
        for(int it=0;it<n;it++) {
            if(s[it]=='J') j.pb(it);
            if(s[it]=='O') o.pb(it);
            if(s[it]=='I') i.pb(it);
        }
        int ans=inf;
        for(int it=0;it<=j.size()-k;it++) {
            int cur=j[it];
            int p=upper_bound(o.begin(),o.end(),j[it+k-1])-o.begin()+k-1;
            if(p>o.size()-1) continue;
            p=upper_bound(i.begin(),i.end(),o[p])-i.begin()+k-1;
            if(p>i.size()-1) continue;
            // cout<<it<<' ';
            cur+=n-1-i[p];
            ans=min(ans,cur);
        }
        if(ans==inf) cout<<"-1\n";
        else cout<<ans<<' ';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...