# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
437101 |
2021-06-25T19:29:47 Z |
WnRS |
Mutating DNA (IOI21_dna) |
C++17 |
|
64 ms |
8332 KB |
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
string s,t;
vector<vector<int>>v(100005,vector<int>(6,0));
void gen(void) {
v[0]={0,0,0,0,0,0};
for(int i = 0 ; i < s.length() ; i++) {
v[i+1]=v[i];
if(s[i] == 'A') {
if(t[i] == 'C') v[i+1][0]++;
else if(t[i] == 'T') v[i+1][1]++;
} else if(s[i] == 'C') {
if(t[i] == 'A') v[i+1][2]++;
else if(t[i] == 'T') v[i+1][3]++;
} else {
if(t[i] == 'A') v[i+1][4]++;
else if(t[i] == 'C') v[i+1][5]++;
}
}
}
int get_distance(int x, int y) {
int a=v[y+1][0]-v[x][0],
b=v[y+1][1]-v[x][1],
c=v[y+1][2]-v[x][2],
d=v[y+1][3]-v[x][3],
e=v[y+1][4]-v[x][4],
f=v[y+1][5]-v[x][5];
int ans=0;
int dif=min(a,c);
ans+=dif;
a-=dif,c-=dif;
dif=min(b,e);
ans+=dif;
b-=dif,e-=dif;
dif=min(d,f);
ans+=dif;
d-=dif,f-=dif;
if(max(a,c)!=max(b,e)||max(b,e)!=max(d,f)) return -1;
ans+=2*((max(a,c)+max(b,e)+max(d,f))/3);
return ans;
}
void init(string aa, string bb) {
s=aa,t=bb;
gen();
}
Compilation message
dna.cpp: In function 'void gen()':
dna.cpp:10:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
10 | for(int i = 0 ; i < s.length() ; i++) {
| ~~^~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
64 ms |
7876 KB |
Output is correct |
2 |
Correct |
49 ms |
7836 KB |
Output is correct |
3 |
Incorrect |
48 ms |
7808 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
5708 KB |
Output is correct |
2 |
Correct |
7 ms |
5708 KB |
Output is correct |
3 |
Correct |
8 ms |
5708 KB |
Output is correct |
4 |
Correct |
13 ms |
6552 KB |
Output is correct |
5 |
Correct |
12 ms |
6464 KB |
Output is correct |
6 |
Correct |
12 ms |
6556 KB |
Output is correct |
7 |
Correct |
12 ms |
6476 KB |
Output is correct |
8 |
Correct |
11 ms |
6552 KB |
Output is correct |
9 |
Correct |
11 ms |
6476 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
5708 KB |
Output is correct |
2 |
Correct |
7 ms |
5708 KB |
Output is correct |
3 |
Correct |
8 ms |
5708 KB |
Output is correct |
4 |
Correct |
13 ms |
6552 KB |
Output is correct |
5 |
Correct |
12 ms |
6464 KB |
Output is correct |
6 |
Correct |
12 ms |
6556 KB |
Output is correct |
7 |
Correct |
12 ms |
6476 KB |
Output is correct |
8 |
Correct |
11 ms |
6552 KB |
Output is correct |
9 |
Correct |
11 ms |
6476 KB |
Output is correct |
10 |
Correct |
49 ms |
7840 KB |
Output is correct |
11 |
Correct |
58 ms |
7832 KB |
Output is correct |
12 |
Correct |
49 ms |
8080 KB |
Output is correct |
13 |
Correct |
52 ms |
8132 KB |
Output is correct |
14 |
Correct |
52 ms |
8232 KB |
Output is correct |
15 |
Correct |
50 ms |
8120 KB |
Output is correct |
16 |
Correct |
59 ms |
8196 KB |
Output is correct |
17 |
Correct |
47 ms |
8216 KB |
Output is correct |
18 |
Correct |
57 ms |
8232 KB |
Output is correct |
19 |
Correct |
43 ms |
8132 KB |
Output is correct |
20 |
Correct |
46 ms |
8332 KB |
Output is correct |
21 |
Correct |
52 ms |
8260 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
5708 KB |
Output is correct |
2 |
Correct |
7 ms |
5708 KB |
Output is correct |
3 |
Correct |
8 ms |
5708 KB |
Output is correct |
4 |
Correct |
13 ms |
6552 KB |
Output is correct |
5 |
Correct |
12 ms |
6464 KB |
Output is correct |
6 |
Correct |
12 ms |
6556 KB |
Output is correct |
7 |
Correct |
12 ms |
6476 KB |
Output is correct |
8 |
Correct |
11 ms |
6552 KB |
Output is correct |
9 |
Correct |
11 ms |
6476 KB |
Output is correct |
10 |
Incorrect |
12 ms |
6448 KB |
Output isn't correct |
11 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
64 ms |
7876 KB |
Output is correct |
2 |
Correct |
49 ms |
7836 KB |
Output is correct |
3 |
Incorrect |
48 ms |
7808 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |