Submission #576286

#TimeUsernameProblemLanguageResultExecution timeMemory
576286AdnanboiMutating DNA (IOI21_dna)C++17
0 / 100
37 ms4452 KiB
#include <bits/stdc++.h> #include "dna.h" using namespace std; #define N 100005 vector<int> a(N,0),b(N,0),c(N,0),d(N,0),e(N,0),f(N,0); 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...