제출 #1339860

#제출 시각아이디문제언어결과실행 시간메모리
1339860ElayV13DNA 돌연변이 (IOI21_dna)C++20
35 / 100
21 ms3824 KiB
#include "dna.h"
#include "bits/stdc++.h"
using namespace std;

string A,B;
int ca[2][100001];
int p[100001];

void init(string a,string b)
{
      int n=a.size();
      ca[0][0]=(a[0]=='A');
      ca[1][0]=(b[0]=='A');
      for(int i=1;i<n;i++)
      {
            ca[0][i]=ca[0][i-1]+(a[i]=='A');
            ca[1][i]=ca[1][i-1]+(b[i]=='A');
      }
      p[0]=(a[0]!=b[0]);
      for(int i=1;i<n;i++) p[i]=p[i-1]+(a[i]!=b[i]);
}

int get_distance(int x,int y)
{
      int cnt[2];
      cnt[0]=((!y)?ca[0][y]:ca[0][y]-ca[0][x-1]);
      cnt[1]=((!y)?ca[1][y]:ca[1][y]-ca[1][x-1]);
      if(cnt[0]!=cnt[1]) return -1;
      int res=((!y)?p[y]:p[y]-p[x-1]);
      return (res/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...