Submission #108387

#TimeUsernameProblemLanguageResultExecution timeMemory
108387PeppaPigMartian DNA (IOI16_dna)C++14
100 / 100
18 ms432 KiB
#include "dna.h" #include <bits/stdc++.h> using namespace std; string analyse(int n, int t) { int l = 0, r = n; while(l < r) { int m = (l + r + 1) >> 1; if(make_test(string(m, '0'))) l = m; else r = m-1; } string ret(l, '0'); auto zero = [&](string a) { int ret = 0; while(a.back() == '0') ++ret, a.pop_back(); return ret; }; while(zero(ret) <= l) { if(make_test(ret + '1')) ret += '1'; else ret += '0'; } l = 0, r = n; while(l < r) { int m = (l + r + 1) >> 1; if(make_test(ret.substr(0, m))) l = m; else r = m-1; } ret = ret.substr(0, l); while(ret.length() != n) { if(make_test('1' + ret)) ret = '1' + ret; else ret = '0' + ret; } return ret; }

Compilation message (stderr)

dna.cpp: In function 'std::__cxx11::string analyse(int, int)':
dna.cpp:32:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(ret.length() != n) {
           ~~~~~~~~~~~~~^~~~
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...