# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
66471 | thiago4532 | Martian DNA (IOI16_dna) | C++17 | 19 ms | 764 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dna.h"
#include <bits/stdc++.h>
#define zz(x) string(x, '0')
using namespace std;
int n;
string str;
int buscab(){
int ini=0, fim=n+1, meio;
while(fim - ini > 1){
meio = (ini + fim) >> 1;
string s = zz(meio);
if(make_test(s)) ini = meio;
else fim = meio;
}
return ini;
}
int buscab2(){
int ini=0, fim=str.size(), meio;
while(fim - ini > 1){
meio = (ini + fim) >> 1;
string s = str.substr(0, meio+1);
if(make_test(s)) ini = meio;
else fim = meio;
}
return ini;
}
string analyse(int k, int t){
n = k;
str = zz(buscab());
int qtd = str.size();
while(str.size() < n){
if(make_test(str+"1")){
str += "1";
continue;
}
str += "0";
int x=0;
for(int i=str.size()-1;i>=0;i--){
if(str[i] == '1') break;
++x;
}
if(x > qtd) break;
}
str = str.substr(0, buscab2()+1);
while(str.size() < n){
if(make_test("0"+str)) str = "0"+str;
else str = "1"+str;
}
return str;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |