Submission #538762

#TimeUsernameProblemLanguageResultExecution timeMemory
538762groshiMutating DNA (IOI21_dna)C++17
56 / 100
39 ms7432 KiB
#include<iostream>
#include<map>
using namespace std;
int sumya[200000][4];
int sumyb[200000][4];
map<char,int> rodzaj;
int zle[200000];
void init(string x,string y)
{
    rodzaj['A']=0;
    rodzaj['T']=1;
    rodzaj['C']=2;
    for(int i=0;i<x.length();i++)
    {
        sumya[i+1][0]=sumya[i][0];
        sumya[i+1][1]=sumya[i][1];
        sumya[i+1][2]=sumya[i][2];
        if(x[i]=='A')
            sumya[i+1][0];
        if(x[i]=='T')
            sumya[i+1][1]++;
        if(x[i]=='C')
            sumya[i+1][2]++;
    }
    for(int i=0;i<y.length();i++)
    {
        sumyb[i+1][0]=sumyb[i][0];
        sumyb[i+1][1]=sumyb[i][1];
        sumyb[i+1][2]=sumyb[i][2];
        if(y[i]=='A')
            sumyb[i+1][0];
        if(y[i]=='T')
            sumyb[i+1][1]++;
        if(y[i]=='C')
            sumyb[i+1][2]++;
    }
    for(int i=0;i<x.length();i++)
    {
        zle[i+1]=zle[i];
        if(x[i]==y[i])
            continue;
        zle[i+1]=zle[i]+1;
    }
}
int get_distance(int x,int y)
{
    for(int i=0;i<3;i++)
        if(sumya[y+1][i]-sumya[x][i]!=sumyb[y+1][i]-sumyb[x][i])
            return -1;
    int jest_zle=zle[y+1]-zle[x];
    return (jest_zle+1)/2;
}

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:13:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i=0;i<x.length();i++)
      |                 ~^~~~~~~~~~~
dna.cpp:19:25: warning: statement has no effect [-Wunused-value]
   19 |             sumya[i+1][0];
      |             ~~~~~~~~~~~~^
dna.cpp:25:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i=0;i<y.length();i++)
      |                 ~^~~~~~~~~~~
dna.cpp:31:25: warning: statement has no effect [-Wunused-value]
   31 |             sumyb[i+1][0];
      |             ~~~~~~~~~~~~^
dna.cpp:37:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i=0;i<x.length();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...