Submission #1241353

#TimeUsernameProblemLanguageResultExecution timeMemory
1241353Younis_DwaiMutating DNA (IOI21_dna)C++20
22 / 100
1594 ms4692 KiB
#include "dna.h" #include<bits/stdc++.h> #define in insert #define pb push_back using namespace std; const int N=1e5+5; int n,B[N],C[N],pref[N][2]; void init(std::string a, std::string b){ n=a.size(); for(int i=1;i<=n;i++){ if(a[i-1]=='A') B[i]=1; else if(a[i-1]=='T') B[i]=2; else B[i]=3; } for(int i=1;i<=n;i++){ if(b[i-1]=='A') C[i]=1; else if(b[i-1]=='T') C[i]=2; else C[i]=3; } for(int i=1;i<=n;i++){ //pref[i]=pref[i-1]; if(B[i]==1 && C[i]==2) pref[i][0]++; if(B[i]==2 && C[i]==1) pref[i][1]++; } return ; } int get_distance(int x, int y){ ++x;++y; vector<int> v[2][3]; int ret=0; for(int i=x;i<=y;i++){ v[0][B[i]].pb(i); v[1][C[i]].pb(i); } if(v[0][1].size()!=v[1][1].size()) return -1; for(int i=x;i<=y;i++) ret+=bool(C[i]!=B[i]); return ret/2; }
#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...