이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
/*
isl gae
e
*/
#include <bits/stdc++.h>
#include <sstream>
#define ll long long
#define lp(a,b) for(ll i = a; i<b; i++)
#define pl(a,b) for(ll i = a;i>=b;i--)
using namespace std;
int main()
{
ll n,k;cin >> n >> k;string s;cin >> s;vector <ll> v[3];
lp(0,n){
v[(s[i] == 'J' ? 0 : (s[i] == 'O' ? 1 : 2))].push_back(i);
}
ll pt = 0,it = 0;
string kx = string(k, 'J') + string(k, 'O') + string(k, 'I');
while(pt < n && it < kx.size()){
if(s[pt] == kx[it]){
it++;
}
pt++;
}
if(it < k * 3){
cout << -1 << char(012);exit(0);
}
ll mn = 1e9;
lp(k * 3 - 1,n){
if(v[0][0] > i || v[1][0] > i || v[2][0] > i){
continue;
}
ll rx = --upper_bound(v[2].begin(), v[2].end(), i) - v[2].begin();
ll lx = rx - k + 1;
if(lx < 0){
continue;
}
ll rxx = v[2][rx];
ll lxx = v[2][lx];
if(v[1][0] > lxx){
continue;
}
ll rx2 = --upper_bound(v[1].begin(), v[1].end(), lxx) - v[1].begin();
ll lx2 = rx2 - k + 1;
if(lx2 < 0){
continue;
}
ll rxx2 = v[1][rx2];
ll lxx2 = v[1][lx2];
if(v[0][0] > lxx2){
continue;
}
ll rx3 = --upper_bound(v[0].begin(), v[0].end(), lxx2) - v[0].begin();
ll lx3 = rx3 - k + 1;
if(lx3 < 0){
continue;
}
ll rxx3 = v[0][rx3];
ll lxx3 = v[0][lx3];
mn = min(mn, ((rxx - lxx3 + 1) - k * 3));
}
cout << mn << char(012);
}
컴파일 시 표준 에러 (stderr) 메시지
ho_t2.cpp: In function 'int main()':
ho_t2.cpp:19:24: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
19 | while(pt < n && it < kx.size()){
| ~~~^~~~~~~~~~~
ho_t2.cpp:48:12: warning: unused variable 'rxx2' [-Wunused-variable]
48 | ll rxx2 = v[1][rx2];
| ^~~~
ho_t2.cpp:58:12: warning: unused variable 'rxx3' [-Wunused-variable]
58 | ll rxx3 = v[0][rx3];
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |