This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// 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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |