제출 #1194093

#제출 시각아이디문제언어결과실행 시간메모리
1194093PetrixDNA 돌연변이 (IOI21_dna)C++20
100 / 100
32 ms9736 KiB
#include <iostream> #include "dna.h" using namespace std; long long sp[100001][3][3]; void init(string a, string b){ char aux[]={'A','C','T'}; int i,j,k; for(i=0;i<a.size();i++){ for(j=0;j<3;j++){ for(k=0;k<3;k++){ sp[i+1][j][k]=sp[i][j][k]; if(a[i]==aux[j] && b[i]==aux[k]) sp[i+1][j][k]++; } } } } int get_distance(int x,int y){ long long perechi=0,triplete=0,i,j,sum1,sum2; for(i=0;i<3;i++){ j=(i+1)%3; sum1=sp[y+1][i][j]-sp[x][i][j];sum2=sp[y+1][j][i]-sp[x][j][i]; if(!i) triplete=sum1-sum2; else if(sum1-sum2!=triplete) return -1; perechi+=min(sum1,sum2); } return perechi+abs(triplete)*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...