Submission #1232641

#TimeUsernameProblemLanguageResultExecution timeMemory
1232641TimoshDNA 돌연변이 (IOI21_dna)C++20
0 / 100
16 ms5632 KiB
#include "bits/stdc++.h" #include "dna.h" using namespace std; vector<vector<int>> pf(9); int n; void init(std::string a, std::string b) { n = a.size(); for (auto &i : pf) i.resize(n + 1); string s = "ATC"; for (int i = 0; i < n; i++) for (int j = 0; j < 9; j++) pf[j][i + 1] = pf[j][i] + (a[i] == s[j % 3] && b[i] == s[j / 3]); } int get_distance(int x, int y) { vector<int> q(9); for (int i = 0; i < 9; i++) q[i] = pf[i][y] - pf[i][--x]; int AC = q[6]; int CA = q[2]; int TA = q[1]; int AT = q[3]; int CT = q[5]; int TC = q[7]; if (AC + AT - CA - TA != 0) return -1; if (CA + CT - AC - TC != 0) return -1; if (TA + TC - AT - CT != 0) return -1; int ans = min(AC, CA) + min(AT, TA) + min(CT, TC); return ans + 2 * abs(AC - CA); }
#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...