#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
string sa;
string sb;
vector<int> pas, pts;
vector<int> pab, ptb;
void init(std::string a, std::string b) {
sa = a;
sb = b;
int n = sa.size();
pas.resize(n+1, 0);
pts.resize(n+1, 0);
pab.resize(n+1, 0);
ptb.resize(n+1, 0);
for (int i = 0; i < n; i++) {
pas[i+1] = pas[i]+(sa[i] == 'A');
pts[i+1] = pts[i]+(sa[i] == 'T');
}
for (int i = 0; i < n; i++) {
pab[i+1] = pab[i]+(sb[i] == 'A');
ptb[i+1] = ptb[i]+(sb[i] == 'T');
}
}
int get_distance(int x, int y) {
int c = 0;
int cas = pas[y+1]-pas[x];
int cts = pts[y+1]-pts[x];
int cab = pab[y+1]-pab[x];
int ctb = ptb[y+1]-ptb[x];
if (cas != cab || cts != ctb) return -1;
for (int i = x; i <= y; i++) if (sa[i] != sb[i]) c++;
int ans = (c+1)/2;
return ans;
}
# | 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... |