Submission #896226

#TimeUsernameProblemLanguageResultExecution timeMemory
896226Sir_Ahmed_ImranMutating DNA (IOI21_dna)C++17
100 / 100
29 ms6364 KiB
                              ///~~~LOTA~~~///
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
#define nl '\n'
#define ff first
#define ss second
#define ll long long 
#define append push_back
#define pii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define N 100001
int AC[N];
int AT[N];
int CA[N];
int CT[N];
int TA[N];
int TC[N];
void init(string a,string b){
    for(int i=0;i<a.size();i++){
        AC[i]=AC[i-1]+(a[i]=='A' && b[i]=='C');
        AT[i]=AT[i-1]+(a[i]=='A' && b[i]=='T');
        CA[i]=CA[i-1]+(a[i]=='C' && b[i]=='A');
        CT[i]=CT[i-1]+(a[i]=='C' && b[i]=='T');
        TA[i]=TA[i-1]+(a[i]=='T' && b[i]=='A');
        TC[i]=TC[i-1]+(a[i]=='T' && b[i]=='C');
    }
}
int get_distance(int l,int r){
    int o,p,q,s;
    int ac,at,ca,ct,ta,tc;
    l--;
    ac=AC[r];
    at=AT[r];
    ca=CA[r];
    ct=CT[r];
    ta=TA[r];
    tc=TC[r];
    if(l>=0){
        ac-=AC[l];
        at-=AT[l];
        ca-=CA[l];
        ct-=CT[l];
        ta-=TA[l];
        tc-=TC[l];
    }
    p=min(ac,ca);
    q=min(at,ta);
    s=min(ct,tc);
    o=p+q+s;
    ac-=p;
    ca-=p;
    at-=q;
    ta-=q;
    ct-=s;
    tc-=s;
    if(ac==ct && ct==ta 
    && ca==tc && tc==at)
        o+=ac+ca+tc+ct;
    else o=-1;
    return o;
}

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:20:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i=0;i<a.size();i++){
      |                 ~^~~~~~~~~
#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...