제출 #440164

#제출 시각아이디문제언어결과실행 시간메모리
440164BT21tataMutating DNA (IOI21_dna)C++17
43 / 100
1580 ms3216 KiB
#include "dna.h" #include "bits/stdc++.h" using namespace std; int a[100005], b[100005]; void init(string A, string B) { for(int i=0; i<(int)A.length(); i++) { if(A[i]=='C') a[i]=1; else if(A[i]=='T') a[i]=2; if(B[i]=='C') b[i]=1; else if(B[i]=='T') b[i]=2; } } int get_distance(int x, int y) { int cnt[3][3], cnt1[3]={0,0,0}, cnt2[3]={0,0,0}, num=0, e, ans=0; memset(cnt, 0, sizeof(cnt)); for(int i=x; i<=y; i++) { cnt[a[i]][b[i]]++; cnt1[a[i]]++; cnt2[b[i]]++; } if(cnt1[0]!=cnt2[0] or cnt1[1]!=cnt2[1] or cnt1[2]!=cnt2[2]) return -1; for(int i=0; i<3; i++) for(int j=i+1; j<3; j++) { e=min(cnt[i][j], cnt[j][i]); num+=e; ans+=max(cnt[i][j], cnt[j][i])-e; } return num+max(0,ans-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...