# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1141852 | FZ_Laabidi | Mutating DNA (IOI21_dna) | C++20 | 0 ms | 0 KiB |
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, q;
string a, b;
void init(string a, string b){}
int get_distance(int x, int y){
int dist = y-x+1;
string s1="", s2="";
map<int, int> freq1, freq2;
for(int i = x; i<=y; i++){
s1.push_back(a[i]);
s2.push_back(b[i]);
freq1[a[i]]++;
freq2[b[i]]++;
}
for(char c: s1){
if(freq1[c]!=freq2[c])return -1;
}
int maxi = dist-1;
for(int i=0; i<dist; i++)if(s1[i]==s2[i])maxi--;
return maxi;
}
signed main(){
int sum =0;
cin>>n>>q;
cin >>a>>b;
for(int i=0; i<n; i++){
int x, y; cin >>x>>y;
cout <<get_distance(x, y)<< endl;
}
}