Submission #986960

#TimeUsernameProblemLanguageResultExecution timeMemory
986960kachim2Mutating DNA (IOI21_dna)C++17
0 / 100
25 ms5660 KiB
#include "dna.h" #include <algorithm> #include <vector> #include <array> std::array<std::array<std::vector<int>, 3>, 3> aaa; std::array<int, 256> chtoi = {}; void init(std::string a, std::string b) { chtoi['A'] = 0; chtoi['T'] = 1; chtoi['C'] = 2; for (auto &i : aaa) { for (auto &j : i) { j.resize(a.size()+1); std::fill(j.begin(), j.end(), 0); } } for (int i = 0; i < a.size(); i++) { for (auto &A : aaa) { for (auto &j : A) { j[i+1] = j[i]; } } aaa[chtoi[a[i]]][chtoi[b[i]]][i] ++; } } int get_distance(int x, int y) { int ret = 0; std::array<std::array<int, 3>, 3> bbb; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (aaa[i][j][y ] - aaa[i][j][x-1] != aaa[j][i][y ] - aaa[j][i][x-1]) { return -1; } else { ret+= aaa[i][j][y + 1] - aaa[i][j][x]; } } } return ret; }

Compilation message (stderr)

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