제출 #1241355

#제출 시각아이디문제언어결과실행 시간메모리
1241355Younis_DwaiMutating DNA (IOI21_dna)C++20
35 / 100
36 ms4108 KiB
#include "dna.h"
#include<bits/stdc++.h>
#define in insert
#define pb push_back
using namespace std;
const int N=1e5+5;
int n,B[N],C[N],pref[N][2];
void init(std::string a, std::string b){
     n=a.size();
     for(int i=1;i<=n;i++){
            if(a[i-1]=='A') B[i]=1;
            else if(a[i-1]=='T') B[i]=2;
            else B[i]=3;
     }
     for(int i=1;i<=n;i++){
            if(b[i-1]=='A') C[i]=1;
            else if(b[i-1]=='T') C[i]=2;
            else C[i]=3;
     }
     for(int i=1;i<=n;i++){
         pref[i][0]=pref[i-1][0];
         pref[i][1]=pref[i-1][1];
         if(B[i]==1 && C[i]==2) pref[i][0]++;
         if(B[i]==2 && C[i]==1) pref[i][1]++;
     }
     return ;
}

int get_distance(int x, int y){
    ++x;++y;
    int cnt1=pref[y][0]-pref[x-1][0];
    int cnt2=pref[y][1]-pref[x-1][1];
    if(cnt1!=cnt2) return -1;
	return cnt1;
}
#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...