Submission #1142569

#TimeUsernameProblemLanguageResultExecution timeMemory
1142569mouataz_the_giantMutating DNA (IOI21_dna)C++17
0 / 100
19 ms2368 KiB
#include <bits/stdc++.h> #include "dna.h" using namespace std; void init(string x,string y); int get_distance(int x,int y); string u,v; void init(string a,string b){ u = a; v = b; } int get_distance(int x,int y){ int pot = 0;; int ans = 0; int t_a = 0; int a_t = 0; int a_c = 0; int c_a = 0; int t_c = 0; int c_t = 0; string a1 = u.substr(x,y-x+1); string b1 = v.substr(x,y-x+1); for(int i = 0;i < a1.length();i++){ if(a1[i] == 'T' && b1[i] == 'A'){ t_a++; } if(a1[i] == 'A' && b1[i] == 'T'){ a_t++; } if(a1[i] == 'A' && b1[i] == 'C'){ a_c++; } if(a1[i] == 'C' && b1[i] == 'A'){ c_a++; } if(a1[i] == 'T' && b1[i] == 'C'){ t_c++; } if(a1[i] == 'C' && b1[i] == 'T'){ c_t++; } } if(((t_c + t_a != a_t + c_t) || (c_a + c_t != a_c + t_c)) || (a_t + a_c != c_a + c_t)){ return -1; } ans += min(a_c,c_a); ans += min(t_a,a_t); ans += min(t_c,c_t); pot += max(a_c,c_a) - min(a_c,c_a); pot += max(a_t,t_a) - min(a_t,t_a); pot += max(t_c,c_t) - min(t_c,c_t); ans += (pot/3) * 2; return ans; }
#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...