Submission #54749

#TimeUsernameProblemLanguageResultExecution timeMemory
54749luciocfMartian DNA (IOI16_dna)C++14
36 / 100
25 ms640 KiB
#include <bits/stdc++.h> #include "dna.h" using namespace std; int n; string aux; string get(int k) { string ans = ""; for (int i = 1; i <= k; i++) ans += "0"; return ans; } string get2(int k) { string ans = ""; for (int i = 0; i < k; i++) ans += aux[i]; return ans; } int busca(void) { int ini = 1, fim = n; while (ini <= fim) { int mid = (ini+fim)>>1; if (make_test(get(mid))) ini = mid+1; else fim = mid-1; } return fim; } int busca2(void) { int ini = 1, fim = n; while (ini <= fim) { int mid = (ini+fim)>>1; if (make_test(get2(mid))) ini = mid+1; else fim = mid-1; } return fim; } string analyse(int k, int t) { n = k; int size = 0; string s = ""; if (!make_test("0")) { for (int i = 1; i <= n; i++) s += "1"; return s; } int qtd = busca(); size = qtd; aux = get(qtd); while (size < n) { if (make_test(aux+"0")) aux += "0"; else aux += "1"; size++; } int pos = busca2(); size = pos; s = get2(pos); while (size < n) { if (make_test("1"+s)) s = "1"+s; else s = "0"+s; size++; } return s; }

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