Submission #290638

#TimeUsernameProblemLanguageResultExecution timeMemory
290638KastandaMartian DNA (IOI16_dna)C++11
100 / 100
14 ms512 KiB
// M #include<bits/stdc++.h> #include "dna.h" using namespace std; string analyse(int n, int t) { if (!make_test("1")) return string(n, '0'); string now; int le = 1, ri = n + 1, md; while (ri - le > 1) { md = (le + ri) >> 1; if (make_test(string(md, '1'))) le = md; else ri = md; } int C1 = 0; now = string(le, '1'); while ((int)now.size() < n) { if (make_test(now + "0")) now += "0", C1 = 0; else now += "1", C1 ++; if (C1 > le) break; } le = 1, ri = n + 1; while (ri - le > 1) { md = (le + ri) >> 1; if (make_test(now.substr(0, md))) le = md; else ri = md; } now = now.substr(0, le); while ((int)now.size() < n) { if (make_test("0" + now)) now = "0" + now; else now = "1" + now; } return now; }

Compilation message (stderr)

grader.cpp: In function 'bool make_test(std::string)':
grader.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for (int i = 0; i < p.size(); i++) {
      |                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for (int i = 1; i <= ss.size(); i++) {
      |                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   if (pr[i] == p.size()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...