# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1155235 | trandangquang | JJOOII 2 (JOI20_ho_t2) | C++20 | 5 ms | 4368 KiB |
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,k,c[N][3];
string s;
vector<int> t[3];
int main(){
if(fopen("test.inp","r")){
freopen("test.inp","r",stdin);
freopen("test.out","w",stdout);
}
cin.tie(0)->sync_with_stdio(0);
cin>>n>>k>>s;
s=" "+s;
for(int i=n; i>=1; --i){
if(s[i]=='J'){
t[0].emplace_back(i);
}
else if(s[i]=='O'){
t[1].emplace_back(i);
}
else{
t[2].emplace_back(i);
}
for(int j=0; j<=2; ++j){
if((int)t[j].size()>=k){
c[i][j]=t[j][(int)t[j].size()-k];
}
else{
c[i][j]=n+1;
}
}
}
int res=1e9;
for(int i=1; i<=n; ++i){
int ej=c[i][0],
eo=c[ej+1][1],
ei=c[eo+1][2];
if(ej>=n||eo>=n||ei>n) continue;
res=min(res,(ei-i+1)-k*3);
}
if(res==(int)1e9) cout<<"-1\n";
else cout<<res<<'\n';
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |