제출 #714528

#제출 시각아이디문제언어결과실행 시간메모리
714528mseebacherDNA 돌연변이 (IOI21_dna)C++17
43 / 100
1568 ms2976 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; #define MAXI (int)1e5 #define pb(x) push_back(x) int s1[(int)1e5+5]; int s2[(int)1e5+5]; int mp(char c){ if(c == 'A') return 0; if(c == 'T') return 1; return 2; } void init(string x,string y){ for(int i = 0;i<(int)x.length();i++) s1[i] = mp(x[i]); for(int i = 0;i<(int)y.length();i++) s2[i] = mp(y[i]); } int get_distance(int x,int y){ map<int,int> m1,m2; m1.insert({0,0}); // A m2.insert({0,0}); m1.insert({1,0}); //T m2.insert({1,0}); m1.insert({2,0}); // C m2.insert({2,0}); ll cntr = 1; for(int i =x;i<=y;i++){ m1[s1[i]]++; m2[s2[i]]++; if(s1[i] != s2[i]) cntr++; } if(m1[0] != m2[0] || m1[1] != m2[1] || m1[2] != m2[2]) return -1; return cntr >> 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...