제출 #1023772

#제출 시각아이디문제언어결과실행 시간메모리
1023772vjudge1JJOOII 2 (JOI20_ho_t2)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std;// Hello world arsaoshe aneru nesi isods const int mod = 1e9+7; const char nl = '\n'; typedef long long ll; const int N = 1e5 + 5 ; #define ff first #define ss second void void_code () { ll n; cin >> n;ll k; cin >> k; string s; cin >> s; ll l = - 1, r = n ; for ( int i =0 ;i < n; i ++ ) { if ( s [ i ] == 'J' ) { l = i ; break; } } for ( int i = n - 1; i >= 0 ; i -- ) { if ( s [ i ] == 'I' ) { r = i ; break; } } ll cnt = 0 ; ll oh = 1; ll gov = 0 ; vector < char > v ; for ( int i = l ;i < r + 1 ; i ++ ) { if ( oh == 1 ) { if ( s [ i ] == 'J' ){ cnt ++ ; v .push_back ( 'J' ) ; } if ( cnt == k ) { oh = 2; cnt = 0 ; } else { gov ++ ; } } else if ( oh == 2 ) { if ( s [ i ] == 'O' ){ cnt ++ ; v .push_back ( 'O' ) ; } if ( cnt == k ) { oh = 3; cnt = 0 ; } else { gov ++ ; } } else if ( oh == 3 ) { if ( s [ i ] == 'I' ){ cnt ++ ; v .push_back ( 'I' ) ; } if ( cnt == k ) { oh = 3; cnt = 0 ; } else { gov ++ ; } } } ll ch = r - l + 1; if ( v. empty() ) { cout << -1; } else { cout << ch - v . size (); } //~ cout << gov ; //~ cout << nl << l << " " << r << nl; //~ cout << nl; //~ for ( int i =0 ;i < v . size (); i++ ) { //~ cout << v [ i ] << " "; //~ } } signed main() { ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); int t = 1; //test //~ cin >> t; while (t--) void_code (); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...