#include "dna.h"
#include<bits/stdc++.h>
using namespace std;
string A,B;
map<int,int>at;
map<int,int>ta;
map<int,int>ac;
map<int,int>ca;
map<int,int>tc;
map<int,int>ct;
void init(string a, string b){
    at[-1]=0;
     ac[-1]=0;
      tc[-1]=0;
       ta[-1]=0;
        ct[-1]=0;
         ca[-1]=0;
    string A=a;
    string B=b;
    for(int so=0;so<a.size();so++){
        if(A[so]=='A'&&B[so]=='T'){at[so]+=1+at[so-1]; }
        if(A[so]=='T'&&B[so]=='A'){at[so]+=1+at[so-1];}
        if(A[so]=='A'&&B[so]=='C'){at[so]+=1+at[so-1];}
        if(A[so]=='C'&&B[so]=='A'){at[so]+=1+at[so-1];}
        if(A[so]=='C'&&B[so]=='T'){at[so]+=1+at[so-1];}
        if(A[so]=='T'&&B[so]=='C'){at[so]+=1+at[so-1];}
                            
    }
  
}
int get_distance(int x, int y){
 if(ac[y]+at[y]-ac[x-1]-at[x-1]==ca[y]+ta[y]-ca[x-1]-ta[x-1]&&ca[y]+ct[y]-ca[x-1]-ct[x-1]==ac[y]+tc[y]-ac[x-1]-tc[x-1]&&tc[y]+ta[y]-tc[x-1]-ta[x-1]==ct[y]+at[y]-ct[x-1]-at[x-1]){
     int ans=0;
     ans=(min(at[y]-at[x-1],ta[y]-ta[x-1]))+min(ac[y]-ac[x-1],ca[y]-ca[x-1])+min(tc[y]-tc[x-1],ct[y]-ct[x-1])+(2*abs(at[y]-at[x-1]-ta[y]+ta[x-1]));
     return ans;
 }
 
 
 else {return -1;}
}
| # | 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... |