Submission #576287

#TimeUsernameProblemLanguageResultExecution timeMemory
576287AdnanboiMutating DNA (IOI21_dna)C++17
0 / 100
28 ms3724 KiB
#include <bits/stdc++.h> #include "dna.h" using namespace std; #define N 100005 int a[N],b[N],c[N],d[N],e[N],f[N]; void init(string a, string b){ int n=a.size(); for(int i=0;i<n;i++){ a[i+1]=a[i]+(a[i]=='A' && b[i]=='C'); b[i+1]=b[i]+(a[i]=='A' && b[i]=='T'); c[i+1]=c[i]+(a[i]=='C' && b[i]=='A'); d[i+1]=d[i]+(a[i]=='C' && b[i]=='T'); e[i+1]=e[i]+(a[i]=='T' && b[i]=='A'); f[i+1]=f[i]+(a[i]=='T' && b[i]=='C'); } } int get_distance(int x, int y){ y++; int A=a[y]-a[x]; int B=b[y]-b[x]; int C=c[y]-c[x]; int D=d[y]-d[x]; int E=e[y]-e[x]; int F=f[y]-f[x]; if (E!=A+B-C || F!=C+D-A) return -1; return B+D+max(A, C); }
#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...