Submission #981527

# Submission time Handle Problem Language Result Execution time Memory
981527 2024-05-13T09:54:40 Z faqinyeager Mutating DNA (IOI21_dna) C++17
43 / 100
1500 ms 4908 KB
#include "dna.h"
#include <bits/stdc++.h>

int n, a_cnt, b_cnt;
int asum[100050][3], bsum[100050][3];
int cnt[100050];

void init(std::string a, std::string b){
	n = (int)a.size();
	for(int i = 0; i < n; i++){
		if(a[i] == 'A') asum[i][0] ++;
		else if(a[i] == 'C') asum[i][1] ++;
		else asum[i][2]++;

		if(b[i] == 'A') bsum[i][0] ++;
		else if(b[i] == 'C') bsum[i][1] ++;
		else bsum[i][2]++;
	}
	for(int i = 1; i < n; i++){
		for(int j = 0; j < 3; j++){
			asum[i][j] += asum[i - 1][j];
			bsum[i][j] += bsum[i - 1][j]; 
		}
	}
	for(int i = 0; i < n; i++){
		if(a[i] != b[i]) cnt[i] = 1;
	}
}

int get_distance(int x, int y){
	for(int j = 0; j < 3; j++){
		if(asum[y][j] - asum[x - 1][j] != bsum[y][j] - bsum[x - 1][j]){
			return -1;
		} 
	}
	int ans = 0;
	for(int i = x; i <= y; i++){
		ans += cnt[i];
	}

	return (ans + 1) / 2;
}
# Verdict Execution time Memory Grader output
1 Correct 24 ms 4888 KB Output is correct
2 Correct 25 ms 4884 KB Output is correct
3 Correct 23 ms 4908 KB Output is correct
4 Correct 26 ms 4888 KB Output is correct
5 Correct 1 ms 2392 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2648 KB Output is correct
3 Correct 1 ms 2392 KB Output is correct
4 Correct 3 ms 3676 KB Output is correct
5 Correct 3 ms 3676 KB Output is correct
6 Correct 3 ms 3676 KB Output is correct
7 Correct 4 ms 3420 KB Output is correct
8 Correct 3 ms 3676 KB Output is correct
9 Correct 3 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2648 KB Output is correct
3 Correct 1 ms 2392 KB Output is correct
4 Correct 3 ms 3676 KB Output is correct
5 Correct 3 ms 3676 KB Output is correct
6 Correct 3 ms 3676 KB Output is correct
7 Correct 4 ms 3420 KB Output is correct
8 Correct 3 ms 3676 KB Output is correct
9 Correct 3 ms 3676 KB Output is correct
10 Correct 26 ms 4892 KB Output is correct
11 Correct 25 ms 4884 KB Output is correct
12 Execution timed out 1561 ms 4668 KB Time limit exceeded
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2648 KB Output is correct
3 Correct 1 ms 2392 KB Output is correct
4 Correct 3 ms 3676 KB Output is correct
5 Correct 3 ms 3676 KB Output is correct
6 Correct 3 ms 3676 KB Output is correct
7 Correct 4 ms 3420 KB Output is correct
8 Correct 3 ms 3676 KB Output is correct
9 Correct 3 ms 3676 KB Output is correct
10 Correct 3 ms 3420 KB Output is correct
11 Correct 3 ms 3676 KB Output is correct
12 Incorrect 3 ms 3420 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 24 ms 4888 KB Output is correct
2 Correct 25 ms 4884 KB Output is correct
3 Correct 23 ms 4908 KB Output is correct
4 Correct 26 ms 4888 KB Output is correct
5 Correct 1 ms 2392 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2648 KB Output is correct
10 Correct 1 ms 2392 KB Output is correct
11 Correct 3 ms 3676 KB Output is correct
12 Correct 3 ms 3676 KB Output is correct
13 Correct 3 ms 3676 KB Output is correct
14 Correct 4 ms 3420 KB Output is correct
15 Correct 3 ms 3676 KB Output is correct
16 Correct 3 ms 3676 KB Output is correct
17 Correct 26 ms 4892 KB Output is correct
18 Correct 25 ms 4884 KB Output is correct
19 Execution timed out 1561 ms 4668 KB Time limit exceeded
20 Halted 0 ms 0 KB -