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...