#include "dna.h"
#include <iostream>
using namespace std;
string A,B;
void init(std::string a, std::string b) {
A=a;
B=b;
}
int get_distance(int x, int y) {
int C1[3]={0,0,0};
int C2[3]={0,0,0};
for(int i=x;i<=y;i++){
if(A[i]=='A')C1[0]++;
if(A[i]=='T')C1[1]++;
if(A[i]=='C')C1[2]++;
if(B[i]=='A')C2[0]++;
if(B[i]=='T')C2[1]++;
if(B[i]=='C')C2[2]++;
}
if(C1[0]!=C2[0]||C1[1]!=C2[1]||C1[2]!=C2[2])return -1;
if(y-x<=2){
if(y-x==0)return 0;
if(y-x==1){
if(A[x]==B[x])return 0;
return 1;
}
if(A[x]==B[x]&&A[x+1]==B[x+1]&&A[y]==B[y])return 0;
if(A[x]==B[x]||A[x+1]==B[x+1]||A[y]==B[y])return 1;
return 2;
}
if(C1[2]==0 && C2[2]==0){
int c=0;
for(int i=x;i<=y;i++){
if(A[i]!=B[i])c++;
}
return c/2;
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
38 ms |
2388 KB |
Output is correct |
2 |
Correct |
38 ms |
2352 KB |
Output is correct |
3 |
Correct |
40 ms |
2356 KB |
Output is correct |
4 |
Correct |
37 ms |
2364 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
2 ms |
972 KB |
Output is correct |
5 |
Correct |
2 ms |
972 KB |
Output is correct |
6 |
Correct |
2 ms |
972 KB |
Output is correct |
7 |
Correct |
6 ms |
1020 KB |
Output is correct |
8 |
Correct |
8 ms |
972 KB |
Output is correct |
9 |
Correct |
3 ms |
1036 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
2 ms |
972 KB |
Output is correct |
5 |
Correct |
2 ms |
972 KB |
Output is correct |
6 |
Correct |
2 ms |
972 KB |
Output is correct |
7 |
Correct |
6 ms |
1020 KB |
Output is correct |
8 |
Correct |
8 ms |
972 KB |
Output is correct |
9 |
Correct |
3 ms |
1036 KB |
Output is correct |
10 |
Correct |
48 ms |
2388 KB |
Output is correct |
11 |
Correct |
37 ms |
2364 KB |
Output is correct |
12 |
Execution timed out |
1566 ms |
2124 KB |
Time limit exceeded |
13 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
2 ms |
972 KB |
Output is correct |
5 |
Correct |
2 ms |
972 KB |
Output is correct |
6 |
Correct |
2 ms |
972 KB |
Output is correct |
7 |
Correct |
6 ms |
1020 KB |
Output is correct |
8 |
Correct |
8 ms |
972 KB |
Output is correct |
9 |
Correct |
3 ms |
1036 KB |
Output is correct |
10 |
Correct |
2 ms |
972 KB |
Output is correct |
11 |
Correct |
3 ms |
972 KB |
Output is correct |
12 |
Incorrect |
2 ms |
972 KB |
Output isn't correct |
13 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
38 ms |
2388 KB |
Output is correct |
2 |
Correct |
38 ms |
2352 KB |
Output is correct |
3 |
Correct |
40 ms |
2356 KB |
Output is correct |
4 |
Correct |
37 ms |
2364 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
0 ms |
204 KB |
Output is correct |
8 |
Correct |
1 ms |
204 KB |
Output is correct |
9 |
Correct |
1 ms |
204 KB |
Output is correct |
10 |
Correct |
1 ms |
204 KB |
Output is correct |
11 |
Correct |
2 ms |
972 KB |
Output is correct |
12 |
Correct |
2 ms |
972 KB |
Output is correct |
13 |
Correct |
2 ms |
972 KB |
Output is correct |
14 |
Correct |
6 ms |
1020 KB |
Output is correct |
15 |
Correct |
8 ms |
972 KB |
Output is correct |
16 |
Correct |
3 ms |
1036 KB |
Output is correct |
17 |
Correct |
48 ms |
2388 KB |
Output is correct |
18 |
Correct |
37 ms |
2364 KB |
Output is correct |
19 |
Execution timed out |
1566 ms |
2124 KB |
Time limit exceeded |
20 |
Halted |
0 ms |
0 KB |
- |