Submission #54741

#TimeUsernameProblemLanguageResultExecution timeMemory
54741luciocfMartian DNA (IOI16_dna)C++14
11 / 100
93 ms1368 KiB
#include <bits/stdc++.h> #include "dna.h" using namespace std; int n; string get(int k, int qual) { string s = ""; for (int i = 1; i <= k; i++) { if (qual) s += "1"; else s += "0"; } return s; } int busca(string s, int x, int qual, int ordem) { int ini = 0, fim = x; while (ini <= fim) { int mid = (ini+fim)>>1; if (!ordem) { if (make_test(s+get(mid, qual))) ini = mid+1; else fim = mid-1; } else { if (make_test(get(mid, qual)+s)) ini = mid+1; else fim = mid-1; } } return fim; } string analyse(int k, int t) { n = k; int size = 0; string s = ""; int flag = 0; if (!busca(s, n, 0, 0)) flag = 1; while (true) { int x = busca(s, n-size, flag, 0); if (!x) break; size += x; s += get(x, flag); flag = !flag; } if (size == n) return s; flag = 0; if (!busca(s, n-size, 0, 1)) flag = 1; while (true) { int x = busca(s, n-size, flag, 1); if (!x) return s; size += x; string ant = get(x, flag); s = ant+s; flag = !flag; } }

Compilation message (stderr)

grader.cpp: In function 'bool make_test(std::__cxx11::string)':
grader.cpp:14:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < p.size(); i++) {
                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1; i <= ss.size(); i++) {
                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (pr[i] == p.size()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...