Submission #1316846

#TimeUsernameProblemLanguageResultExecution timeMemory
1316846yus1f_mMutating DNA (IOI21_dna)C++20
35 / 100
19 ms3808 KiB
//#pragma GCC optimize("O3") #include <bits/stdc++.h> #include "dna.h" using namespace std; vector<int>prefs1,prefs2,prefs3; void init(string s1,string s2) { prefs1.resize(s1.size()+1),prefs2.resize(s2.size()+1),prefs3.resize(s1.size()+1); for(int i=0;i<s1.size();i++) { if(s1[i]=='A') { prefs1[i+1]=prefs1[i]+1; } else { prefs1[i+1]=prefs1[i]; } } for(int i=0;i<s2.size();i++) { if(s2[i]=='A') { prefs2[i+1]=prefs2[i]+1; } else { prefs2[i+1]=prefs2[i]; } } for(int i=0;i<s1.size();i++) { if(s1[i]!=s2[i]) { prefs3[i+1]=prefs3[i]+1; } else { prefs3[i+1]=prefs3[i]; } } } int get_distance(int n,int m) { int cnt1=prefs1[m+1]-prefs1[n],cnt2=prefs2[m+1]-prefs2[n],cnt3=prefs3[m+1]-prefs3[n]; if(cnt1==cnt2) { return cnt3/2; } else { return -1; } }
#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...