# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
966777 | 2024-04-20T10:34:32 Z | SuPythony | Mutating DNA (IOI21_dna) | C++17 | 31 ms | 6612 KB |
#include "dna.h" #include <bits/stdc++.h> using namespace std; vector<int> pf(1e5+1,0); vector<vector<int>> pf2(3, vector<int>(1e5+1,0)); vector<vector<int>> pf3(3, vector<int>(1e5+1,0)); void init(string a, string b) { for (int i=1; i<=a.size(); i++) { if (a[i-1]!=b[i-1]) { pf[i]=pf[i-1]+1; } else { pf[i]=pf[i-1]; } } for (int i=1; i<=a.size(); i++) { if (a[i-1]=='A') pf2[0][i]=pf2[0][i-1]+1; else pf2[0][i]=pf2[0][i-1]; if (a[i-1]=='C') pf2[1][i]=pf2[1][i-1]+1; else pf2[1][i]=pf2[1][i-1]; if (a[i-1]=='A') pf2[2][i]=pf2[2][i-1]+1; else pf2[2][i]=pf2[2][i-1]; } for (int i=1; i<=a.size(); i++) { if (b[i-1]=='A') pf3[0][i]=pf3[0][i-1]+1; else pf3[0][i]=pf3[0][i-1]; if (b[i-1]=='C') pf3[1][i]=pf3[1][i-1]+1; else pf3[1][i]=pf3[1][i-1]; if (b[i-1]=='A') pf3[2][i]=pf3[2][i-1]+1; else pf3[2][i]=pf3[2][i-1]; } } int get_distance(int x, int y) { x++; y++; if ((pf2[0][y]-pf2[0][x-1])!=(pf3[0][y]-pf3[0][x-1])||(pf2[1][y]-pf2[1][x-1])!=(pf3[1][y]-pf3[1][x-1])||(pf2[2][y]-pf2[2][x-1])!=(pf3[2][y]-pf3[2][x-1])) return -1; int c=pf[y]-pf[x-1]; return c/2+c%2; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 27 ms | 5316 KB | Output is correct |
2 | Correct | 25 ms | 5844 KB | Output is correct |
3 | Correct | 25 ms | 5576 KB | Output is correct |
4 | Correct | 28 ms | 5736 KB | Output is correct |
5 | Correct | 2 ms | 3540 KB | Output is correct |
6 | Correct | 2 ms | 3540 KB | Output is correct |
7 | Correct | 2 ms | 3540 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 3540 KB | Output is correct |
2 | Correct | 2 ms | 3576 KB | Output is correct |
3 | Correct | 2 ms | 3540 KB | Output is correct |
4 | Correct | 4 ms | 3792 KB | Output is correct |
5 | Correct | 4 ms | 3796 KB | Output is correct |
6 | Correct | 4 ms | 3796 KB | Output is correct |
7 | Correct | 4 ms | 3792 KB | Output is correct |
8 | Correct | 4 ms | 3792 KB | Output is correct |
9 | Correct | 4 ms | 3796 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 3540 KB | Output is correct |
2 | Correct | 2 ms | 3576 KB | Output is correct |
3 | Correct | 2 ms | 3540 KB | Output is correct |
4 | Correct | 4 ms | 3792 KB | Output is correct |
5 | Correct | 4 ms | 3796 KB | Output is correct |
6 | Correct | 4 ms | 3796 KB | Output is correct |
7 | Correct | 4 ms | 3792 KB | Output is correct |
8 | Correct | 4 ms | 3792 KB | Output is correct |
9 | Correct | 4 ms | 3796 KB | Output is correct |
10 | Correct | 26 ms | 5756 KB | Output is correct |
11 | Correct | 27 ms | 6200 KB | Output is correct |
12 | Correct | 27 ms | 6348 KB | Output is correct |
13 | Correct | 31 ms | 6332 KB | Output is correct |
14 | Correct | 27 ms | 6344 KB | Output is correct |
15 | Correct | 25 ms | 5584 KB | Output is correct |
16 | Correct | 26 ms | 6600 KB | Output is correct |
17 | Correct | 26 ms | 5832 KB | Output is correct |
18 | Correct | 26 ms | 6356 KB | Output is correct |
19 | Correct | 24 ms | 6612 KB | Output is correct |
20 | Correct | 25 ms | 6100 KB | Output is correct |
21 | Correct | 25 ms | 6212 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 3540 KB | Output is correct |
2 | Correct | 2 ms | 3576 KB | Output is correct |
3 | Correct | 2 ms | 3540 KB | Output is correct |
4 | Correct | 4 ms | 3792 KB | Output is correct |
5 | Correct | 4 ms | 3796 KB | Output is correct |
6 | Correct | 4 ms | 3796 KB | Output is correct |
7 | Correct | 4 ms | 3792 KB | Output is correct |
8 | Correct | 4 ms | 3792 KB | Output is correct |
9 | Correct | 4 ms | 3796 KB | Output is correct |
10 | Correct | 4 ms | 3796 KB | Output is correct |
11 | Correct | 5 ms | 3796 KB | Output is correct |
12 | Incorrect | 4 ms | 3796 KB | Output isn't correct |
13 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 27 ms | 5316 KB | Output is correct |
2 | Correct | 25 ms | 5844 KB | Output is correct |
3 | Correct | 25 ms | 5576 KB | Output is correct |
4 | Correct | 28 ms | 5736 KB | Output is correct |
5 | Correct | 2 ms | 3540 KB | Output is correct |
6 | Correct | 2 ms | 3540 KB | Output is correct |
7 | Correct | 2 ms | 3540 KB | Output is correct |
8 | Correct | 2 ms | 3540 KB | Output is correct |
9 | Correct | 2 ms | 3576 KB | Output is correct |
10 | Correct | 2 ms | 3540 KB | Output is correct |
11 | Correct | 4 ms | 3792 KB | Output is correct |
12 | Correct | 4 ms | 3796 KB | Output is correct |
13 | Correct | 4 ms | 3796 KB | Output is correct |
14 | Correct | 4 ms | 3792 KB | Output is correct |
15 | Correct | 4 ms | 3792 KB | Output is correct |
16 | Correct | 4 ms | 3796 KB | Output is correct |
17 | Correct | 26 ms | 5756 KB | Output is correct |
18 | Correct | 27 ms | 6200 KB | Output is correct |
19 | Correct | 27 ms | 6348 KB | Output is correct |
20 | Correct | 31 ms | 6332 KB | Output is correct |
21 | Correct | 27 ms | 6344 KB | Output is correct |
22 | Correct | 25 ms | 5584 KB | Output is correct |
23 | Correct | 26 ms | 6600 KB | Output is correct |
24 | Correct | 26 ms | 5832 KB | Output is correct |
25 | Correct | 26 ms | 6356 KB | Output is correct |
26 | Correct | 24 ms | 6612 KB | Output is correct |
27 | Correct | 25 ms | 6100 KB | Output is correct |
28 | Correct | 25 ms | 6212 KB | Output is correct |
29 | Correct | 4 ms | 3796 KB | Output is correct |
30 | Correct | 5 ms | 3796 KB | Output is correct |
31 | Incorrect | 4 ms | 3796 KB | Output isn't correct |
32 | Halted | 0 ms | 0 KB | - |