| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1190888 | vyaduct | Mutating DNA (IOI21_dna) | C++20 | 24 ms | 7332 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][3];
int pref2[(int)1e5+1][6];
void init(string a,string b){
    a='.'+a;
    b='.'+b;
    int n=(int)a.length()-1;
    for(int i=0;i<2;i++){
        for(int j=0;j<3;j++){
            pref[0][i][j]=0;
        }
    }
    for(int i=0;i<6;i++){
        pref2[0][i]=0;
    }
    V<char>vp={'A','T','C'};
    V<P<char,char>>vp1={{'A','T'},{'T','A'},{'A','C'},{'C','A'},{'C','T'},{'T','C'}};
    for(int i=1;i<=n;i++){
        for(int j=0;j<3;j++){
            pref[i][0][j]=pref[i-1][0][j];
            pref[i][1][j]=pref[i-1][1][j];
            if(a[i]==vp[j])pref[i][0][j]++;
            if(b[i]==vp[j])pref[i][1][j]++;
        }
        for(int j=0;j<6;j++){
            pref2[i][j]=pref2[i-1][j];
            if(a[i]==vp1[j].F && b[i]==vp1[j].S)pref2[i][j]++;
        }
    }
}
int get_distance(int x, int y){
    x++,y++;
    for(int i=0;i<3;i++){
        if(pref[y][0][i]-pref[x-1][0][i]!=pref[y][1][i]-pref[x-1][1][i])return -1;
    }
    int cnt1=0;
    int cnt2=0;
    for(int i=0;i<6;i+=2){
        int mind=min(pref2[y][i]-pref2[x-1][i],pref2[y][i+1]-pref2[x-1][i+1]);
        int maxd=max(pref2[y][i]-pref2[x-1][i],pref2[y][i+1]-pref2[x-1][i+1]);
        cnt1+=mind;
        cnt2+=maxd-mind;
    }
    return cnt1+((2*cnt2)/3);
}
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... | ||||
