# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
647329 |
2022-10-02T08:20:26 Z |
Astrayt |
JJOOII 2 (JOI20_ho_t2) |
C++17 |
|
12 ms |
3288 KB |
//君の手を握ってしまったら
//孤独を知らないこの街には
//もう二度と帰ってくることはできないのでしょう
//君が手を差し伸べた 光で影が生まれる
//歌って聞かせて この話の続き
//連れて行って見たことない星まで
//さユリ - 花の塔
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
#define starburst ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define pii pair<int,int>
#define pb push_back
#define ff first
#define ss second
#define N 100005
void solve(){
int n, k; cin >> n >> k;
string s; cin >> s;
vector<int> jp, op, ip;
for(int i = 0; i < n; ++i){
if(s[i] == 'J') jp.pb(i);
if(s[i] == 'O') op.pb(i);
if(s[i] == 'I') ip.pb(i);
}
if(jp.size() < k || op.size() < k || ip.size() < k) {
cout << "-1\n";
return;
}
int ans = 1e18;
for(int i = 0, j = k - 1; j < op.size(); ++i, ++j){
int lo = op[i], ro = op[j];
int rj = (upper_bound(jp.begin(), jp.end(), lo) - jp.begin() - 1), lj = rj - k + 1;
if(lj < 0) continue;
int li = (upper_bound(ip.begin(), ip.end(), ro) - ip.begin()), ri = li + k - 1;
if(ri >= ip.size()) continue;
ans = min(ip[ri] - jp[lj] + 1 - 3 * k, ans);
}
cout << (ans == 1e18 ? -1 : ans) << '\n';
}
signed main(){
starburst
int t = 1; //cin >> t;
while(t--) solve();
}
Compilation message
ho_t2.cpp: In function 'void solve()':
ho_t2.cpp:28:18: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
28 | if(jp.size() < k || op.size() < k || ip.size() < k) {
| ~~~~~~~~~~^~~
ho_t2.cpp:28:35: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
28 | if(jp.size() < k || op.size() < k || ip.size() < k) {
| ~~~~~~~~~~^~~
ho_t2.cpp:28:52: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
28 | if(jp.size() < k || op.size() < k || ip.size() < k) {
| ~~~~~~~~~~^~~
ho_t2.cpp:33:33: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
33 | for(int i = 0, j = k - 1; j < op.size(); ++i, ++j){
| ~~^~~~~~~~~~~
ho_t2.cpp:38:15: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
38 | if(ri >= ip.size()) continue;
| ~~~^~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
324 KB |
Output is correct |
5 |
Correct |
1 ms |
320 KB |
Output is correct |
6 |
Correct |
1 ms |
212 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
320 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
212 KB |
Output is correct |
11 |
Correct |
1 ms |
212 KB |
Output is correct |
12 |
Correct |
1 ms |
212 KB |
Output is correct |
13 |
Correct |
1 ms |
212 KB |
Output is correct |
14 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
324 KB |
Output is correct |
5 |
Correct |
1 ms |
320 KB |
Output is correct |
6 |
Correct |
1 ms |
212 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
320 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
212 KB |
Output is correct |
11 |
Correct |
1 ms |
212 KB |
Output is correct |
12 |
Correct |
1 ms |
212 KB |
Output is correct |
13 |
Correct |
1 ms |
212 KB |
Output is correct |
14 |
Correct |
1 ms |
212 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
16 |
Correct |
1 ms |
340 KB |
Output is correct |
17 |
Correct |
1 ms |
340 KB |
Output is correct |
18 |
Correct |
1 ms |
340 KB |
Output is correct |
19 |
Correct |
1 ms |
320 KB |
Output is correct |
20 |
Correct |
1 ms |
340 KB |
Output is correct |
21 |
Correct |
1 ms |
340 KB |
Output is correct |
22 |
Correct |
1 ms |
340 KB |
Output is correct |
23 |
Correct |
1 ms |
340 KB |
Output is correct |
24 |
Correct |
1 ms |
340 KB |
Output is correct |
25 |
Correct |
1 ms |
340 KB |
Output is correct |
26 |
Correct |
1 ms |
316 KB |
Output is correct |
27 |
Correct |
1 ms |
340 KB |
Output is correct |
28 |
Correct |
1 ms |
340 KB |
Output is correct |
29 |
Correct |
1 ms |
340 KB |
Output is correct |
30 |
Correct |
1 ms |
340 KB |
Output is correct |
31 |
Correct |
1 ms |
340 KB |
Output is correct |
32 |
Correct |
1 ms |
340 KB |
Output is correct |
33 |
Correct |
1 ms |
340 KB |
Output is correct |
34 |
Correct |
0 ms |
340 KB |
Output is correct |
35 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
324 KB |
Output is correct |
5 |
Correct |
1 ms |
320 KB |
Output is correct |
6 |
Correct |
1 ms |
212 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
320 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
212 KB |
Output is correct |
11 |
Correct |
1 ms |
212 KB |
Output is correct |
12 |
Correct |
1 ms |
212 KB |
Output is correct |
13 |
Correct |
1 ms |
212 KB |
Output is correct |
14 |
Correct |
1 ms |
212 KB |
Output is correct |
15 |
Correct |
1 ms |
340 KB |
Output is correct |
16 |
Correct |
1 ms |
340 KB |
Output is correct |
17 |
Correct |
1 ms |
340 KB |
Output is correct |
18 |
Correct |
1 ms |
340 KB |
Output is correct |
19 |
Correct |
1 ms |
320 KB |
Output is correct |
20 |
Correct |
1 ms |
340 KB |
Output is correct |
21 |
Correct |
1 ms |
340 KB |
Output is correct |
22 |
Correct |
1 ms |
340 KB |
Output is correct |
23 |
Correct |
1 ms |
340 KB |
Output is correct |
24 |
Correct |
1 ms |
340 KB |
Output is correct |
25 |
Correct |
1 ms |
340 KB |
Output is correct |
26 |
Correct |
1 ms |
316 KB |
Output is correct |
27 |
Correct |
1 ms |
340 KB |
Output is correct |
28 |
Correct |
1 ms |
340 KB |
Output is correct |
29 |
Correct |
1 ms |
340 KB |
Output is correct |
30 |
Correct |
1 ms |
340 KB |
Output is correct |
31 |
Correct |
1 ms |
340 KB |
Output is correct |
32 |
Correct |
1 ms |
340 KB |
Output is correct |
33 |
Correct |
1 ms |
340 KB |
Output is correct |
34 |
Correct |
0 ms |
340 KB |
Output is correct |
35 |
Correct |
1 ms |
340 KB |
Output is correct |
36 |
Correct |
10 ms |
2372 KB |
Output is correct |
37 |
Correct |
12 ms |
2892 KB |
Output is correct |
38 |
Correct |
11 ms |
2868 KB |
Output is correct |
39 |
Correct |
11 ms |
2976 KB |
Output is correct |
40 |
Correct |
9 ms |
3032 KB |
Output is correct |
41 |
Correct |
10 ms |
3020 KB |
Output is correct |
42 |
Correct |
11 ms |
2892 KB |
Output is correct |
43 |
Correct |
6 ms |
1832 KB |
Output is correct |
44 |
Correct |
6 ms |
2000 KB |
Output is correct |
45 |
Correct |
7 ms |
2960 KB |
Output is correct |
46 |
Correct |
8 ms |
2960 KB |
Output is correct |
47 |
Correct |
8 ms |
3020 KB |
Output is correct |
48 |
Correct |
8 ms |
2980 KB |
Output is correct |
49 |
Correct |
5 ms |
1868 KB |
Output is correct |
50 |
Correct |
8 ms |
2992 KB |
Output is correct |
51 |
Correct |
8 ms |
3020 KB |
Output is correct |
52 |
Correct |
5 ms |
2468 KB |
Output is correct |
53 |
Correct |
5 ms |
2888 KB |
Output is correct |
54 |
Correct |
6 ms |
3288 KB |
Output is correct |
55 |
Correct |
4 ms |
3288 KB |
Output is correct |
56 |
Correct |
3 ms |
3288 KB |
Output is correct |