제출 #1236921

#제출 시각아이디문제언어결과실행 시간메모리
1236921i_love_mritiDNA 돌연변이 (IOI21_dna)C++20
35 / 100
22 ms5192 KiB
#include <bits/stdc++.h>
#include "dna.h"
using namespace std;

const int mxN = 2e5 + 1000;

string A, B;
int dp[mxN][3];

void init(string a, string b){
	A = a, B = b;
	memset(dp, 0, sizeof(dp));
	for(int i = 1; i <= (int) A.size(); ++i){
		dp[i][0] = dp[i - 1][0];
		dp[i][1] = dp[i - 1][1];
		dp[i][2] = dp[i - 1][2];

		dp[i][0] += a[i - 1] == 'A';
		dp[i][0] -= b[i - 1] == 'A';

		dp[i][1] += a[i - 1] == 'T';
		dp[i][1] -= b[i - 1] == 'T';

		dp[i][2] += a[i - 1] != b[i - 1];
	}
}

int get_distance(int x, int y){
	++y, ++x;
	if(dp[y][0] - dp[x - 1][0] == 0 && dp[y][1] - dp[x - 1][1] == 0) return (dp[y][2] - dp[x - 1][2]) / 2;
	return -1;
}

/*int main(){
	#ifndef ONLINE_JUDGE
	freopen("inp.in", "r", stdin);
	freopen("output.out", "w", stdout);
	#endif

	ios_base::sync_with_stdio(0);
	cin.tie(nullptr); cout.tie(nullptr);


	return 0;
}*/
#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...