#include "bits/stdc++.h"
#include "dna.h"
using namespace std;
vector<vector<int>> pf(9);
int n;
void init(std::string a, std::string b)
{
n = a.size();
for (auto &i : pf)
i.resize(n + 1);
string s = "ATC";
for (int i = 0; i < n; i++)
for (int j = 0; j < 9; j++)
pf[j][i + 1] = pf[j][i] + (a[i] == s[j % 3] && b[i] == s[j / 3]);
}
int get_distance(int x, int y)
{
vector<int> q(9);
for (int i = 0; i < 9; i++)
q[i] = pf[i][++y] - pf[i][x];
int AC = q[6]; // 0 2
int CA = q[2]; // 2 0
int TA = q[1]; // 1 0
int AT = q[3]; // 0 1
int CT = q[5]; // 2 1
int TC = q[7]; // 1 2
if (AC + AT - CA - TA != 0)
return -1;
if (CA + CT - AC - TC != 0)
return -1;
if (TA + TC - AT - CT != 0)
return -1;
int ans = min(AC, CA) + min(AT, TA) + min(CT, TC);
return ans + 2 * abs(AC - CA);
}
# | 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... |