This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
const int mxN = 100005;
int pref[mxN], pref1[mxN], pref2[mxN];
void init(string a, string b) {
int n = int(a.length());
for(int i = 0; i < n; i++) {
pref[i+1] = pref[i], pref1[i+1] = pref1[i], pref2[i+1] = pref2[i];
if(a[i] != b[i])
pref[i+1]++;
if(a[i] == 'A')
pref1[i+1]++;
if(b[i] == 'A')
pref2[i+1]++;
}
}
int get_distance(int x, int y) {
y++;
if(pref2[y]-pref2[x] != pref1[y]-pref1[x])
return -1;
return (pref[y]-pref[x])/2;
}
/*
int main() {
string a, b;
cin >> a >> b;
init(a, b);
int n = int(a.length());
for(int i = 1; i <= n; i++) {
cout << pref[i] << " ";
}
cout << "\n";
for(int i = 1; i <= n; i++) {
cout << pref1[i] << " ";
}
cout << "\n";
for(int i = 1; i <= n; i++) {
cout << pref2[i] << " ";
}
cout << "\n";
int q;
scanf("%d", &q);
while(q--) {
int x, y;
scanf("%d %d", &x, &y);
printf("%d\n", get_distance(x, y));
}
return 0;
}
*/
# | 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... |