#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int n,cnt[maxn][10];
void init(string a,string b){
n = a.size();
for(int i = 0;i < n;i++){
if(i) for(int j = 0;j < 6;j++) cnt[i][j] = cnt[i-1][j];
if(a[i] == 'A' and b[i] == 'T') cnt[i][0]++;
else if(a[i] == 'T' and b[i] == 'A') cnt[i][1]++;
else if(a[i] == 'A' and b[i] == 'C') cnt[i][2]++;
else if(a[i] == 'C' and b[i] == 'A') cnt[i][3]++;
else if(a[i] == 'C' and b[i] == 'T') cnt[i][4]++;
else if(a[i] == 'T' and b[i] == 'C') cnt[i][5]++;
}
}
int get_distance(int x,int y){
int now[10]; memset(now,0,sizeof(now));
for(int i = 0;i < 6;i++){
now[i] = cnt[y][i];
if(x-1 >= 0) now[i] -= cnt[x-1][i];
}
int Aa = now[0] + now[2];
int Ab = now[1] + now[3];
int Ta = now[1] + now[5];
int Tb = now[0] + now[4];
int Ca = now[3] + now[4];
int Cb = now[2] + now[5];
if(Aa != Ab or Ta != Tb or Ca != Cb) return -1;
int ans = 0;
for(int i = 0;i < 6;i += 2){
int mn = min(now[i],now[i+1]);
now[i] -= mn,now[i+1] -= mn;
ans += mn;
}
if(now[0] > 0) ans += (now[0] * 2);
if(now[1] > 0) ans += (now[1] * 2);
return ans;
}
//int main(){
//
// int n; string s,t; cin >> n >> s >> t;
// init(n,s,t);
// int q; cin >> q;
// while(q--){
// int x,y; cin >> x >> y;
// cout<<get_distance(x,y)<<'\n';
// }
//}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
40 ms |
6020 KB |
Output is correct |
2 |
Correct |
41 ms |
6080 KB |
Output is correct |
3 |
Correct |
46 ms |
5628 KB |
Output is correct |
4 |
Correct |
42 ms |
6020 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
0 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
5 ms |
4684 KB |
Output is correct |
5 |
Correct |
5 ms |
4684 KB |
Output is correct |
6 |
Correct |
5 ms |
4684 KB |
Output is correct |
7 |
Correct |
4 ms |
4428 KB |
Output is correct |
8 |
Correct |
5 ms |
4684 KB |
Output is correct |
9 |
Correct |
4 ms |
4752 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
0 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
5 ms |
4684 KB |
Output is correct |
5 |
Correct |
5 ms |
4684 KB |
Output is correct |
6 |
Correct |
5 ms |
4684 KB |
Output is correct |
7 |
Correct |
4 ms |
4428 KB |
Output is correct |
8 |
Correct |
5 ms |
4684 KB |
Output is correct |
9 |
Correct |
4 ms |
4752 KB |
Output is correct |
10 |
Correct |
43 ms |
6020 KB |
Output is correct |
11 |
Correct |
41 ms |
6012 KB |
Output is correct |
12 |
Correct |
39 ms |
6128 KB |
Output is correct |
13 |
Correct |
42 ms |
6144 KB |
Output is correct |
14 |
Correct |
40 ms |
6436 KB |
Output is correct |
15 |
Correct |
38 ms |
6272 KB |
Output is correct |
16 |
Correct |
37 ms |
6128 KB |
Output is correct |
17 |
Correct |
39 ms |
6144 KB |
Output is correct |
18 |
Correct |
38 ms |
6400 KB |
Output is correct |
19 |
Correct |
36 ms |
6136 KB |
Output is correct |
20 |
Correct |
37 ms |
6312 KB |
Output is correct |
21 |
Correct |
36 ms |
6448 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
0 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
5 ms |
4684 KB |
Output is correct |
5 |
Correct |
5 ms |
4684 KB |
Output is correct |
6 |
Correct |
5 ms |
4684 KB |
Output is correct |
7 |
Correct |
4 ms |
4428 KB |
Output is correct |
8 |
Correct |
5 ms |
4684 KB |
Output is correct |
9 |
Correct |
4 ms |
4752 KB |
Output is correct |
10 |
Correct |
5 ms |
4300 KB |
Output is correct |
11 |
Correct |
5 ms |
4684 KB |
Output is correct |
12 |
Correct |
5 ms |
4428 KB |
Output is correct |
13 |
Correct |
5 ms |
4684 KB |
Output is correct |
14 |
Correct |
5 ms |
4684 KB |
Output is correct |
15 |
Correct |
4 ms |
4684 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
40 ms |
6020 KB |
Output is correct |
2 |
Correct |
41 ms |
6080 KB |
Output is correct |
3 |
Correct |
46 ms |
5628 KB |
Output is correct |
4 |
Correct |
42 ms |
6020 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
1 ms |
204 KB |
Output is correct |
8 |
Correct |
1 ms |
204 KB |
Output is correct |
9 |
Correct |
0 ms |
204 KB |
Output is correct |
10 |
Correct |
0 ms |
204 KB |
Output is correct |
11 |
Correct |
5 ms |
4684 KB |
Output is correct |
12 |
Correct |
5 ms |
4684 KB |
Output is correct |
13 |
Correct |
5 ms |
4684 KB |
Output is correct |
14 |
Correct |
4 ms |
4428 KB |
Output is correct |
15 |
Correct |
5 ms |
4684 KB |
Output is correct |
16 |
Correct |
4 ms |
4752 KB |
Output is correct |
17 |
Correct |
43 ms |
6020 KB |
Output is correct |
18 |
Correct |
41 ms |
6012 KB |
Output is correct |
19 |
Correct |
39 ms |
6128 KB |
Output is correct |
20 |
Correct |
42 ms |
6144 KB |
Output is correct |
21 |
Correct |
40 ms |
6436 KB |
Output is correct |
22 |
Correct |
38 ms |
6272 KB |
Output is correct |
23 |
Correct |
37 ms |
6128 KB |
Output is correct |
24 |
Correct |
39 ms |
6144 KB |
Output is correct |
25 |
Correct |
38 ms |
6400 KB |
Output is correct |
26 |
Correct |
36 ms |
6136 KB |
Output is correct |
27 |
Correct |
37 ms |
6312 KB |
Output is correct |
28 |
Correct |
36 ms |
6448 KB |
Output is correct |
29 |
Correct |
5 ms |
4300 KB |
Output is correct |
30 |
Correct |
5 ms |
4684 KB |
Output is correct |
31 |
Correct |
5 ms |
4428 KB |
Output is correct |
32 |
Correct |
5 ms |
4684 KB |
Output is correct |
33 |
Correct |
5 ms |
4684 KB |
Output is correct |
34 |
Correct |
4 ms |
4684 KB |
Output is correct |
35 |
Correct |
1 ms |
204 KB |
Output is correct |
36 |
Correct |
39 ms |
5624 KB |
Output is correct |
37 |
Correct |
41 ms |
6024 KB |
Output is correct |
38 |
Correct |
40 ms |
6084 KB |
Output is correct |
39 |
Correct |
41 ms |
6400 KB |
Output is correct |
40 |
Correct |
42 ms |
6400 KB |
Output is correct |
41 |
Correct |
4 ms |
4684 KB |
Output is correct |
42 |
Correct |
38 ms |
6156 KB |
Output is correct |
43 |
Correct |
38 ms |
6404 KB |
Output is correct |
44 |
Correct |
41 ms |
6400 KB |
Output is correct |
45 |
Correct |
36 ms |
6140 KB |
Output is correct |
46 |
Correct |
37 ms |
6400 KB |
Output is correct |
47 |
Correct |
36 ms |
6428 KB |
Output is correct |