Submission #1222537

#TimeUsernameProblemLanguageResultExecution timeMemory
1222537lukasuliashviliJJOOII 2 (JOI20_ho_t2)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n,k; string s; cin>>n>>k>>s; s='*'+s; vector<int> vec1,vec2,vec3; for(int i=1;i<=n;++i){ if(s[i]=='J')vec1.push_back(i); else if(s[i]=='O')vec2.push_back(i); else if(s[i]=='I')vec3.push_back(i); } if(vec1.size()<k||vec2.size()<k||vec3.size()<k){ cout<<-1<<endl; return 0; } int min_cost=LLONG_MAX; for(int i=0;i+k-1<vec1.size();++i){ int last_j=vec1[i+k-1]; auto o_it=lower_bound(vec2.begin(),vec2.end(),last_j+1); if(o_it==vec2.end()||o_it+k-1==vec2.end())continue; int last_o=*(o_it+k-1); auto i_it=lower_bound(vec3.begin(),vec3.end(),last_o+1); if(i_it==vec3.end()||i_it+k-1==vec3.end())continue; int last_i=*(i_it+k-1); int length=last_i-vec1[i]+1; int cost=length-3*k; min_cost=min(min_cost,cost); } if(min_cost==LLONG_MAX)cout<<-1<<endl; else cout<<min_cost<<endl; return 0; }

Compilation message (stderr)

ho_t2.cpp: In function 'int main()':
ho_t2.cpp:18:18: warning: overflow in conversion from 'long long int' to 'int' changes value from '9223372036854775807' to '-1' [-Woverflow]
   18 |     int min_cost=LLONG_MAX;
      |                  ^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...