#include <iostream>
#include "dna.h"
using namespace std;
long long sp[100001][3][3];
void init(string a, string b){
char aux[]={'A','C','T'};
int i,j,k;
for(i=0;i<a.size();i++){
for(j=0;j<3;j++){
for(k=0;k<3;k++){
sp[i+1][j][k]=sp[i][j][k];
if(a[i]==aux[j] && b[i]==aux[k]) sp[i+1][j][k]++;
}
}
}
}
int get_distance(int x,int y){
long long perechi=0,triplete=0,i,j,sum1,sum2;
for(i=0;i<3;i++){
j=(i+1)%3;
sum1=sp[y+1][i][j]-sp[x][i][j];sum2=sp[y+1][j][i]-sp[x][j][i];
if(!i) triplete=sum1-sum2;
else if(sum1-sum2!=triplete) return -1;
perechi+=min(sum1,sum2);
}
return perechi+abs(triplete)*2;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |