Submission #1142076

#TimeUsernameProblemLanguageResultExecution timeMemory
1142076FZ_LaabidiMutating DNA (IOI21_dna)C++20
43 / 100
1594 ms2448 KiB

#include<bits/stdc++.h>
#include "dna.h"
using namespace std;
int n, q; 
string a, b; 
void init(string A, string B){
    a=A;
    b=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]]++;
    }
    string o = "ATC";
    for(char c: o)
        if(freq1[c]!=freq2[c])return -1;
    if(y<=x+2){
      
        int diff = 0;
        for(int i=0; i<dist; i++)
            if(s1[i]!=s2[i])diff++;
        if(diff==2)return 1;
        if(diff==0)return 0;
        if(diff==1)return -1;
        if(diff==3)return 2;
    }
    if(freq1['C']==0){
        int diff = 0;
        for(int i=0; i<dist; i++)
            if(s1[i]!=s2[i])diff++;
        return diff/2;
    }
    return 0; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...