제출 #1142576

#제출 시각아이디문제언어결과실행 시간메모리
1142576sam12345678910112DNA 돌연변이 (IOI21_dna)C++20
0 / 100
19 ms4160 KiB
 #include<bits/stdc++.h>
using namespace std;
# define ll long long
string A ,B;
int f[100003];
int fra[100003];
int frt[100003];
int fra2[100003];
int frt2[100003];
void init(string a, string b){
    string A=a;
    string B=b;
    for(int so=0;so<A.size();so++){
        f[so]=0;
        if(so!=0){f[so]+=f[so];
           if(A[so]=='T'){frt[so]=0;frt[so]+=1+frt[so-1];}
          if(A[so]=='A'){fra[so]=0;fra[so]+=1+fra[so-1];}
           if(B[so]=='T'){frt2[so]=0;frt2[so]+=1+frt2[so];}
          if(B[so]=='A'){fra2[so]=0;fra2[so]+=1+fra2[so-1];}
        }
        
        else {
           if(A[so]=='T'){frt[so]=0;frt[so]+=1;}
          if(A[so]=='A'){fra[so]=0;fra[so]+=1;}
           if(B[so]=='T'){frt2[so]=0;frt2[so]+=1;}
          if(B[so]=='A'){fra2[so]=0;fra2[so]+=1;}
        }
        if(A[so]!=B[so]){ f[so]+=1;}
       
    }
}
int get_distance(int x, int y){
    if(frt[y]-frt[x]==frt2[y]-frt2[x]&&fra[y]-fra[x]==fra2[y]-fra2[x]){return f[y]-f[x];}
    else{ return -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...