제출 #1312281

#제출 시각아이디문제언어결과실행 시간메모리
1312281opeleklanosDNA 돌연변이 (IOI21_dna)C++20
35 / 100
23 ms4144 KiB
#include <iostream> #include <vector> #include "dna.h" using namespace std; string a; string b; #define C first #define A second.first #define T second.second vector<int> same; vector<int> t1; vector<int> t2; void init(string a1, string b1){ a = a1; b = b1; int n = a.size(); same.assign(n, 0); t1.assign(n, 0); t2.assign(n, 0); for(int i = 0; i<n; i++){ same[i] = (i>0?same[i-1]:0) + (int)(a[i] == b[i]); t1[i] = (i>0?t1[i-1]:0) + (int)(a[i] == 'T'); t2[i] = (i>0?t2[i-1]:0) + (int)(b[i] == 'T'); } } int get_distance(int l, int r){ if((t1[r] - (l>0?t1[l-1]:0))!= (t2[r] - (l>0?t2[l-1]:0))) return -1; // if(((r-l+1) - (same[r+1] - same[l]))%2) return -17; return ((r-l+1) - (same[r] - (l>0?same[l]:0))) /2; } // int main(void){ // freopen("input.txt", "r", stdin); // string a1, b1; // int q; // cin>>a1>>b1>>q; // init(a1, b1); // for(int i = 0; i<q; i++){ // int l, r; cin>>l>>r; // cout<<get_distance(l, r)<<endl; // } // }
#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...