# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
869214 | 2023-11-03T14:04:42 Z | goodspeed0208 | JJOOII 2 (JOI20_ho_t2) | C++14 | 2000 ms | 13660 KB |
#include<iostream> #include<vector> #include<algorithm> using namespace std; signed main() { int n, k; cin >> n>> k; string s; cin >> s; vector<int>v(n); for (int i = 0 ; i < n ; i++) { if (s[i] == 'J') v[i] = 0; else if (s[i] == 'O') v[i] = 1; else v[i] = 2; } vector<vector<int> >num(n, vector<int>(3, 0)); vector<vector<int> >pos(3); num[0][v[0]]++; pos[v[0]].push_back(0); for (int i = 1 ; i < n ; i++) { num[i] = num[i-1]; num[i][v[i]] = num[i-1][v[i]]+1; pos[v[i]].push_back(i); } int mn = -1; for (int i = 0 ; i < n ; i++) { for (int j = i+k*3-1 ; j < n ; j++) { int numj, numi; if (i == 0) numj = 0; else numj = num[i-1][0]; numi = num[j][2]; if (numj + k > pos[0].size() || numi < k) { continue; } int posj = pos[0][(numj + k) - 1]; int posi = pos[2][(numi - k + 1) - 1]; if (num[posi][1] - num[posj][1] >= k) { //cout << i << " " << j << "\n"; if (mn == -1) mn = j - i + 1; else mn = min(mn, j-i+1); break; } } } if (mn == -1) cout << "-1\n"; else cout << mn - k * 3 << "\n"; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 436 KB | Output is correct |
4 | Correct | 0 ms | 436 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 432 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 436 KB | Output is correct |
4 | Correct | 0 ms | 436 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 432 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 1 ms | 600 KB | Output is correct |
16 | Correct | 1 ms | 604 KB | Output is correct |
17 | Correct | 1 ms | 604 KB | Output is correct |
18 | Correct | 4 ms | 348 KB | Output is correct |
19 | Correct | 4 ms | 624 KB | Output is correct |
20 | Correct | 2 ms | 604 KB | Output is correct |
21 | Correct | 9 ms | 636 KB | Output is correct |
22 | Correct | 8 ms | 604 KB | Output is correct |
23 | Correct | 2 ms | 348 KB | Output is correct |
24 | Correct | 10 ms | 604 KB | Output is correct |
25 | Correct | 7 ms | 604 KB | Output is correct |
26 | Correct | 6 ms | 436 KB | Output is correct |
27 | Correct | 7 ms | 632 KB | Output is correct |
28 | Correct | 6 ms | 604 KB | Output is correct |
29 | Correct | 6 ms | 648 KB | Output is correct |
30 | Correct | 9 ms | 604 KB | Output is correct |
31 | Correct | 1 ms | 348 KB | Output is correct |
32 | Correct | 3 ms | 600 KB | Output is correct |
33 | Correct | 6 ms | 856 KB | Output is correct |
34 | Correct | 4 ms | 600 KB | Output is correct |
35 | Correct | 1 ms | 604 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 436 KB | Output is correct |
4 | Correct | 0 ms | 436 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
11 | Correct | 0 ms | 432 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 0 ms | 348 KB | Output is correct |
15 | Correct | 1 ms | 600 KB | Output is correct |
16 | Correct | 1 ms | 604 KB | Output is correct |
17 | Correct | 1 ms | 604 KB | Output is correct |
18 | Correct | 4 ms | 348 KB | Output is correct |
19 | Correct | 4 ms | 624 KB | Output is correct |
20 | Correct | 2 ms | 604 KB | Output is correct |
21 | Correct | 9 ms | 636 KB | Output is correct |
22 | Correct | 8 ms | 604 KB | Output is correct |
23 | Correct | 2 ms | 348 KB | Output is correct |
24 | Correct | 10 ms | 604 KB | Output is correct |
25 | Correct | 7 ms | 604 KB | Output is correct |
26 | Correct | 6 ms | 436 KB | Output is correct |
27 | Correct | 7 ms | 632 KB | Output is correct |
28 | Correct | 6 ms | 604 KB | Output is correct |
29 | Correct | 6 ms | 648 KB | Output is correct |
30 | Correct | 9 ms | 604 KB | Output is correct |
31 | Correct | 1 ms | 348 KB | Output is correct |
32 | Correct | 3 ms | 600 KB | Output is correct |
33 | Correct | 6 ms | 856 KB | Output is correct |
34 | Correct | 4 ms | 600 KB | Output is correct |
35 | Correct | 1 ms | 604 KB | Output is correct |
36 | Correct | 19 ms | 12500 KB | Output is correct |
37 | Correct | 20 ms | 13604 KB | Output is correct |
38 | Correct | 20 ms | 13660 KB | Output is correct |
39 | Execution timed out | 2045 ms | 13516 KB | Time limit exceeded |
40 | Halted | 0 ms | 0 KB | - |