# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
623923 |
2022-08-07T01:55:57 Z |
ACGN |
Mutating DNA (IOI21_dna) |
C++17 |
|
64 ms |
7464 KB |
#include<bits/stdc++.h>
using namespace std;
int cvt(char c) {
if (c=='A') return 0;
if (c=='C') return 1;
return 2;
}
int srg[3][3][150000];
void init(string a, string b) {
int n=a.length();
for (int i=0;i<3;i++) {
for (int j=0;j<3;j++) {
srg[i][j][0] = 0;
}
}
for (int i=0;i<3;i++) {
for (int j=0;j<3;j++) {
for (int k=0;k<n;k++) srg[i][j][k+1] = srg[i][j][k] + (i==cvt(a[k]))*(j==cvt(b[k]));
}
}
}
int get_distance(int x, int y) {
int bs[3][3];
for (int i=0;i<3;i++) {
for (int j=0;j<3;j++) {
bs[i][j] = srg[i][j][y+1] - srg[i][j][x];
}
}
int ans = 0;
int m;
m=min(bs[0][1],bs[1][0]);bs[0][1]-=m;bs[1][0]-=m;ans+=m;
m=min(bs[0][2],bs[2][0]);bs[0][2]-=m;bs[2][0]-=m;ans+=m;
m=min(bs[2][1],bs[1][2]);bs[2][1]-=m;bs[1][2]-=m;ans+=m;
int r = bs[0][1];
if (r!=bs[1][2]) return -1;
if (r!=bs[2][0]) return -1;
ans+=r*2;
int s = bs[0][2];
if (s!=bs[2][1]) return -1;
if (s!=bs[1][0]) return -1;
ans+=s*2;
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
44 ms |
5644 KB |
Output is correct |
2 |
Correct |
45 ms |
5632 KB |
Output is correct |
3 |
Correct |
38 ms |
5328 KB |
Output is correct |
4 |
Correct |
38 ms |
6980 KB |
Output is correct |
5 |
Correct |
1 ms |
340 KB |
Output is correct |
6 |
Correct |
1 ms |
340 KB |
Output is correct |
7 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
340 KB |
Output is correct |
4 |
Correct |
13 ms |
4308 KB |
Output is correct |
5 |
Correct |
11 ms |
4436 KB |
Output is correct |
6 |
Correct |
13 ms |
4308 KB |
Output is correct |
7 |
Correct |
10 ms |
4052 KB |
Output is correct |
8 |
Correct |
11 ms |
4420 KB |
Output is correct |
9 |
Correct |
5 ms |
4436 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
340 KB |
Output is correct |
4 |
Correct |
13 ms |
4308 KB |
Output is correct |
5 |
Correct |
11 ms |
4436 KB |
Output is correct |
6 |
Correct |
13 ms |
4308 KB |
Output is correct |
7 |
Correct |
10 ms |
4052 KB |
Output is correct |
8 |
Correct |
11 ms |
4420 KB |
Output is correct |
9 |
Correct |
5 ms |
4436 KB |
Output is correct |
10 |
Correct |
42 ms |
5684 KB |
Output is correct |
11 |
Correct |
41 ms |
5708 KB |
Output is correct |
12 |
Correct |
39 ms |
5760 KB |
Output is correct |
13 |
Correct |
41 ms |
5924 KB |
Output is correct |
14 |
Correct |
51 ms |
6048 KB |
Output is correct |
15 |
Correct |
41 ms |
6040 KB |
Output is correct |
16 |
Correct |
36 ms |
5780 KB |
Output is correct |
17 |
Correct |
38 ms |
5952 KB |
Output is correct |
18 |
Correct |
38 ms |
6044 KB |
Output is correct |
19 |
Correct |
32 ms |
5796 KB |
Output is correct |
20 |
Correct |
32 ms |
5960 KB |
Output is correct |
21 |
Correct |
34 ms |
6068 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
340 KB |
Output is correct |
4 |
Correct |
13 ms |
4308 KB |
Output is correct |
5 |
Correct |
11 ms |
4436 KB |
Output is correct |
6 |
Correct |
13 ms |
4308 KB |
Output is correct |
7 |
Correct |
10 ms |
4052 KB |
Output is correct |
8 |
Correct |
11 ms |
4420 KB |
Output is correct |
9 |
Correct |
5 ms |
4436 KB |
Output is correct |
10 |
Correct |
9 ms |
4064 KB |
Output is correct |
11 |
Correct |
10 ms |
4576 KB |
Output is correct |
12 |
Correct |
9 ms |
4336 KB |
Output is correct |
13 |
Correct |
9 ms |
4576 KB |
Output is correct |
14 |
Correct |
12 ms |
4560 KB |
Output is correct |
15 |
Correct |
7 ms |
4556 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
44 ms |
5644 KB |
Output is correct |
2 |
Correct |
45 ms |
5632 KB |
Output is correct |
3 |
Correct |
38 ms |
5328 KB |
Output is correct |
4 |
Correct |
38 ms |
6980 KB |
Output is correct |
5 |
Correct |
1 ms |
340 KB |
Output is correct |
6 |
Correct |
1 ms |
340 KB |
Output is correct |
7 |
Correct |
1 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
0 ms |
340 KB |
Output is correct |
10 |
Correct |
0 ms |
340 KB |
Output is correct |
11 |
Correct |
13 ms |
4308 KB |
Output is correct |
12 |
Correct |
11 ms |
4436 KB |
Output is correct |
13 |
Correct |
13 ms |
4308 KB |
Output is correct |
14 |
Correct |
10 ms |
4052 KB |
Output is correct |
15 |
Correct |
11 ms |
4420 KB |
Output is correct |
16 |
Correct |
5 ms |
4436 KB |
Output is correct |
17 |
Correct |
42 ms |
5684 KB |
Output is correct |
18 |
Correct |
41 ms |
5708 KB |
Output is correct |
19 |
Correct |
39 ms |
5760 KB |
Output is correct |
20 |
Correct |
41 ms |
5924 KB |
Output is correct |
21 |
Correct |
51 ms |
6048 KB |
Output is correct |
22 |
Correct |
41 ms |
6040 KB |
Output is correct |
23 |
Correct |
36 ms |
5780 KB |
Output is correct |
24 |
Correct |
38 ms |
5952 KB |
Output is correct |
25 |
Correct |
38 ms |
6044 KB |
Output is correct |
26 |
Correct |
32 ms |
5796 KB |
Output is correct |
27 |
Correct |
32 ms |
5960 KB |
Output is correct |
28 |
Correct |
34 ms |
6068 KB |
Output is correct |
29 |
Correct |
9 ms |
4064 KB |
Output is correct |
30 |
Correct |
10 ms |
4576 KB |
Output is correct |
31 |
Correct |
9 ms |
4336 KB |
Output is correct |
32 |
Correct |
9 ms |
4576 KB |
Output is correct |
33 |
Correct |
12 ms |
4560 KB |
Output is correct |
34 |
Correct |
7 ms |
4556 KB |
Output is correct |
35 |
Correct |
1 ms |
352 KB |
Output is correct |
36 |
Correct |
45 ms |
6600 KB |
Output is correct |
37 |
Correct |
64 ms |
7108 KB |
Output is correct |
38 |
Correct |
39 ms |
7220 KB |
Output is correct |
39 |
Correct |
38 ms |
7464 KB |
Output is correct |
40 |
Correct |
40 ms |
7464 KB |
Output is correct |
41 |
Correct |
6 ms |
4576 KB |
Output is correct |
42 |
Correct |
38 ms |
7072 KB |
Output is correct |
43 |
Correct |
40 ms |
7316 KB |
Output is correct |
44 |
Correct |
37 ms |
7304 KB |
Output is correct |
45 |
Correct |
34 ms |
7072 KB |
Output is correct |
46 |
Correct |
35 ms |
7396 KB |
Output is correct |
47 |
Correct |
35 ms |
7284 KB |
Output is correct |