| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1190809 | vyaduct | Mutating DNA (IOI21_dna) | C++20 | 20 ms | 4516 KiB | 
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const long double EPS = 1e-9;
void file(){
    freopen("input.txt.txt","r",stdin);
    freopen("output.txt.txt","w",stdout);
}
#define V vector
#define pb push_back
#define P pair
#define S second
#define F first
#define all(v) v.begin(),v.end()
int pref[(int)1e5+1][2];
int pref2[(int)1e5+1][2];
int dif[(int)1e5+1];
void init(string a,string b){
	a='.'+a;
	b='.'+b;
	pref[0][0]=0;
	pref[0][1]=0;
	pref2[0][0]=0;
	pref2[0][1]=0;
	dif[0]=0;
	int n=a.length();
	for(int i=1;i<=n;i++){
		pref[i][0]=pref[i-1][0];
		pref[i][1]=pref[i-1][1];
		pref2[i][0]=pref2[i-1][0];
		pref2[i][1]=pref2[i-1][1];
		dif[i]=dif[i-1];
		if(a[i]=='A'){
			pref[i][0]++;
		}
		else{
			pref[i][1]++;
		}
		if(b[i]=='A'){
			pref2[i][0]++;
		}
		else{
			pref2[i][1]++;
		}
		if(a[i]!=b[i]){
			dif[i]++;
		}
		
	}
}
int get_distance(int x, int y){
	swap(x,y);
	x++,y++;
	if(pref[x][0]-pref[y-1][0]!=pref2[x][0]-pref2[y-1][0])return -1;
	if(pref[x][1]-pref[y-1][1]!=pref2[x][1]-pref2[y-1][1])return -1;
	return (dif[x]-dif[y-1])/2;
}
Compilation message (stderr)
| # | 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... | ||||
