//#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include "dna.h"
using namespace std;
vector<int>prefs1,prefs2,prefs3;
void init(string s1,string s2)
{
prefs1.resize(s1.size()+1),prefs2.resize(s2.size()+1),prefs3.resize(s1.size()+1);
for(int i=0;i<s1.size();i++)
{
if(s1[i]=='A')
{
prefs1[i+1]=prefs1[i]+1;
}
else
{
prefs1[i+1]=prefs1[i];
}
}
for(int i=0;i<s2.size();i++)
{
if(s2[i]=='A')
{
prefs2[i+1]=prefs2[i]+1;
}
else
{
prefs2[i+1]=prefs2[i];
}
}
for(int i=0;i<s1.size();i++)
{
if(s1[i]!=s2[i])
{
prefs3[i+1]=prefs3[i]+1;
}
else
{
prefs3[i+1]=prefs3[i];
}
}
}
int get_distance(int n,int m)
{
int cnt1=prefs1[m+1]-prefs1[n],cnt2=prefs2[m+1]-prefs2[n],cnt3=prefs3[m+1]-prefs3[n];
if(cnt1==cnt2)
{
return cnt3/2;
}
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... |