#include<bits/stdc++.h>
using namespace std;
vector<int> V(1e5,-1);
string ax,bx;
void init(std::string a, std::string b) {
ax=a,bx=b;
int cnt =0;
int freq1[3]={0,0,0};
int freq2[3]={0,0,0};
for(int i=0;i<a.size();i++){
if(a[i]=='A')freq1[0]++;
if(a[i]=='B')freq1[1]++;
if(a[i]=='C')freq1[2]++;
if(b[i]=='A')freq2[0]++;
if(b[i]=='B')freq2[1]++;
if(b[i]=='C')freq2[2]++;
if(a[i]!=b[i]){
cnt++;
//cout << "jdjd";
}
if(freq1[0]!=freq2[0] or freq1[1]!=freq2[1] or freq1[2]!=freq2[2]){
V[i]=-1;
}else{
if(cnt ==0) V[i]=0;
else if(cnt %2==0)V[i]=(cnt/2);
else if(cnt %2==1)V[i]=(cnt/2)+1;
}
//cout << i << " " << V[i] << " " << b[i] << " " << a[i] << endl;
}
}
int get_distance(int x, int y) {
if(V[x-1]==-1 or V[y]==-1) return -1;
else return (V[y]-V[x-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... |