Submission #1142651

#TimeUsernameProblemLanguageResultExecution timeMemory
1142651mouataz_the_giantMutating DNA (IOI21_dna)C++17
71 / 100
1596 ms2376 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 t1 = 0; int t2 = 0; int a11 = 0; int a22 = 0; int c1 = 0; int c2 = 0; 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'){ t1++; } if(b1[i] == 'T'){ t2++; } if(a1[i] == 'A'){ a11++; } if(b1[i] == 'A'){ a22++; } if(a1[i] == 'C'){ c1++; } if(b1[i] == 'C'){ c2++; } 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(((c1 != c2) || (t1 != t2)) || (a11 != a22)){ 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...