#include "dna.h"
#include<bits/stdc++.h>
using namespace std;
int longest_zero(int n)
{
int l = 0, r = n + 1;
while(l + 1 < r)
{
int mid = (l + r) / 2;
if(make_test(string(mid, '0')))
l = mid;
else r = mid;
}
return l;
}
string correct_suf(string suf)
{
int l = 0, r = suf.size() + 1;
while(l + 1 < r)
{
int mid = (l + r) / 2;
if(make_test(suf.substr(0, mid)))
l = mid;
else r = mid;
}
return suf.substr(0, l);
}
std::string analyse(int n, int t) {
int k = longest_zero(n);
if(k == 0) return string(n, '1');
string suf = string(k, '0');
//cout << suf << "\n";
int cnt = k;
while(suf.size() < n && cnt <= k)
{
if(make_test(suf + "1"))
{
suf += "1";
cnt = 0;
}
else
{
suf += "0";
cnt++;
}
}
//cout << suf << "\n";
suf = correct_suf(suf);
//cout << suf << "\n";
while(suf.size() < n)
{
if(make_test("1" + suf))
suf = "1" + suf;
else
suf = "0" + suf;
}
return suf;
}
Compilation message (stderr)
dna.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |