Submission #1114975

#TimeUsernameProblemLanguageResultExecution timeMemory
1114975AdamGSJJOOII 2 (JOI20_ho_t2)C++17
100 / 100
11 ms3100 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,k,o; string napis; cin >> n >> k >> napis; queue<int>indexJ,indexI,indexO; vector<int>J1,J2,I1,I2,O1,O2; for(int i=0;i<n;++i){ if(napis[i]=='O') indexO.push(i); if(napis[i]=='J') indexJ.push(i); if(napis[i]=='I') indexI.push(i); if(indexJ.size()==k){ J1.push_back(indexJ.front()); J2.push_back(i); indexJ.pop(); } if(indexO.size()==k){ O1.push_back(indexO.front()); O2.push_back(i); indexO.pop(); } if(indexI.size()==k){ I1.push_back(indexI.front()); I2.push_back(i); indexI.pop(); } } int wynik=2000007; vector<int>::iterator it1,it2; for(int i=0;i<J1.size();++i){ it1=lower_bound(O1.begin(),O1.end(),J2[i]); if(it1!=O1.end()){ it2=lower_bound(I1.begin(),I1.end(),O2[it1-O1.begin()]); /*cout << J1[i] << ' '<< J2[i] << endl; cout << O1[it1-O1.begin()] << ' ' << O2[it1-O1.begin()] << endl; cout << I1[it2-I1.begin()] << ' ' << I2[it2-I1.begin()] << endl; */ if(it2!=I1.end()){ int s3=I2[it2-I1.begin()]-J1[i]+1-3*k; wynik=min(s3,wynik); } } } if(wynik!=2000007) cout << wynik; else cout << -1; return 0; }

Compilation message (stderr)

ho_t2.cpp: In function 'int main()':
ho_t2.cpp:19:25: warning: comparison of integer expressions of different signedness: 'std::queue<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   19 |         if(indexJ.size()==k){
      |            ~~~~~~~~~~~~~^~~
ho_t2.cpp:24:25: warning: comparison of integer expressions of different signedness: 'std::queue<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   24 |         if(indexO.size()==k){
      |            ~~~~~~~~~~~~~^~~
ho_t2.cpp:29:25: warning: comparison of integer expressions of different signedness: 'std::queue<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   29 |         if(indexI.size()==k){
      |            ~~~~~~~~~~~~~^~~
ho_t2.cpp:37:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i=0;i<J1.size();++i){
      |                 ~^~~~~~~~~~
ho_t2.cpp:6:13: warning: unused variable 'o' [-Wunused-variable]
    6 |     int n,k,o;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...