제출 #1023775

#제출 시각아이디문제언어결과실행 시간메모리
1023775vjudge1JJOOII 2 (JOI20_ho_t2)C++17
0 / 100
1 ms344 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 ( k * 3 == ( v . size ()) ) 	
		cout << ch - v . size ();
	else {
		cout << -1 ;
	}
	//~ cout << nl;
	//~ cout << "----------------" << nl;
		//~ 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;
}

컴파일 시 표준 에러 (stderr) 메시지

ho_t2.cpp: In function 'void void_code()':
ho_t2.cpp:76:14: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |   if ( k * 3 == ( v . size ()) )
      |        ~~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...