제출 #959470

#제출 시각아이디문제언어결과실행 시간메모리
959470OIaspirant2307JJOOII 2 (JOI20_ho_t2)C++17
1 / 100
2017 ms500 KiB
#include <iostream> using namespace std; #define int long long int n, k; string s; const int inf = 1e10; int get(int i, int j) { int cnt[3] = {0, 0, 0}; int ans = 0; for (int x = i; x <= j; x++) { if (cnt[0] < k && s[x] == 'J') { cnt[0]++; } else if (cnt[0] == k && cnt[1] < k && s[x] == 'O') { cnt[1]++; } else if (cnt[1] == k && cnt[2] < k && s[x] == 'I') { cnt[2]++; } else { ans++; } } if (cnt[0] == k && cnt[1] == k && cnt[2] == k) { return ans; } return -1; } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin >> n >> k >> s; int sub = 3 * k; int m = inf; for (int i = 0; i < n; i++) { for (int j = (i + sub) - 1; j < n; j++) { int ans = get(i, j); if (ans == -1) { continue; } m = min(ans, m); } } cout << (m == inf ? -1 : m) << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...