Submission #871291

#TimeUsernameProblemLanguageResultExecution timeMemory
871291LucaLucaMMutating DNA (IOI21_dna)C++17
43 / 100
1533 ms3924 KiB
#include "dna.h" #include <iostream> std::string s, q; int n; void init(std::string a, std::string b) { n = (int) a.size(); for (auto &ch : a) { if (ch == 'A') { ch = 0; } else if (ch == 'C') { ch = 1; } else { ch = 2; } } for (auto &ch : b) { if (ch == 'A') { ch = 0; } else if (ch == 'C') { ch = 1; } else { ch = 2; } } s = '$' + a, q = '$' + b; } int get_distance(int x, int y) { ++x, ++y; int bad = 0; int d[3] = {}; for (int i = x; i <= y; i++) { if (s[i] != q[i]) { bad++; } d[s[i]]++; d[q[i]]--; } if (d[0] != 0 || d[1] != 0 || d[2] != 0) { return -1; } return (bad + 1) / 2; } /** 6 3 ATACAT ACTATA 1 3 4 5 3 5 123 231 **/

Compilation message (stderr)

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:38:11: warning: array subscript has type 'char' [-Wchar-subscripts]
   38 |     d[s[i]]++;
      |           ^
dna.cpp:39:11: warning: array subscript has type 'char' [-Wchar-subscripts]
   39 |     d[q[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...