제출 #207562

#제출 시각아이디문제언어결과실행 시간메모리
207562super_j6JJOOII 2 (JOI20_ho_t2)C++14
100 / 100
13 ms4988 KiB
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <vector> using namespace std; #define endl '\n' #define pi pair<int, int> const int maxn = 200000; int n, k; string s; int a[maxn], dp[maxn][3]; vector<int> nx[3]; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cin >> n >> k; cin >> s; int ret = n; for(int i = 0; i < n; i++){ a[i] = s[i] == 'J' ? 0 : s[i] == 'O' ? 1 : 2; nx[a[i]].push_back(i); for(int j = 0; j < 3; j++){ int m = nx[j].size(); dp[i][j] = (m >= k ? j ? dp[nx[j][m - k]][j - 1] : nx[j][m - k] : -n); } ret = min(ret, i - dp[i][2]); } cout << (ret == n ? -1 : ret - 3 * k + 1) << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...