Submission #1015698

#TimeUsernameProblemLanguageResultExecution timeMemory
1015698jairRSMutating DNA (IOI21_dna)C++17
22 / 100
1574 ms3924 KiB
#include "dna.h"
#include <bits/stdc++.h>
#define all(s) s.begin(), s.end()
using namespace std;

string a, b;
int n;

void init(string _a, string _b)
{
    a = _a;
    b = _b;
    n = a.size();
}

int get_distance(int x, int y)
{
    // substrings are only composed of 'A' and 'T'

    string sub_a = string(a.begin() + x, a.begin() + y + 1);
    string sub_b = string(b.begin() + x, b.begin() + y + 1);

    string sort_a = sub_a;
    string sort_b = sub_b;
    sort(all(sort_a));
    sort(all(sort_b));

    if (sort_a != sort_b)
        return -1;

    // counts are good

    int dif = 0;
    for (int i = 0; i < (int)sub_a.size(); i++)
        dif += sub_a[i] != sub_b[i];

    return dif / 2;
}
#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...