Submission #1142059

#TimeUsernameProblemLanguageResultExecution timeMemory
1142059FZ_LaabidiMutating DNA (IOI21_dna)C++20
22 / 100
1595 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(dist==3){
        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==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;
    }
     
}

Compilation message (stderr)

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#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...