#include <iostream>
#include <vector>
#include "dna.h"
using namespace std;
string a;
string b;
#define C first
#define A second.first
#define T second.second
vector<int> same;
vector<int> t1;
vector<int> t2;
void init(string a1, string b1){
a = a1;
b = b1;
int n = a.size();
same.assign(n, 0);
t1.assign(n, 0);
t2.assign(n, 0);
for(int i = 0; i<n; i++){
same[i] = (i>0?same[i-1]:0) + (int)(a[i] == b[i]);
t1[i] = (i>0?t1[i-1]:0) + (int)(a[i] == 'T');
t2[i] = (i>0?t2[i-1]:0) + (int)(b[i] == 'T');
}
}
int get_distance(int l, int r){
if((t1[r] - (l>0?t1[l-1]:0))!= (t2[r] - (l>0?t2[l-1]:0))) return -1;
// if(((r-l+1) - (same[r+1] - same[l]))%2) return -17;
return ((r-l+1) - (same[r] - (l>0?same[l]:0))) /2;
}
// int main(void){
// freopen("input.txt", "r", stdin);
// string a1, b1;
// int q;
// cin>>a1>>b1>>q;
// init(a1, b1);
// for(int i = 0; i<q; i++){
// int l, r; cin>>l>>r;
// cout<<get_distance(l, r)<<endl;
// }
// }
| # | 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... |