# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
677990 | Doncho_Bonboncho | Martian DNA (IOI16_dna) | C++14 | 70 ms | 528 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>
std::string analyse(int n, int t) {
std::string nas = "";
if( !make_test( "0" ) ){
for( int i=0 ; i<n ; i++ ) nas += '1';
return nas;
}
int l = 0, r = n+1;
while( l != r-1 ){
int m = ( l + r ) >> 1;
// std::cerr<<m<<"\n";
std::string curr = "";
for( int i=0 ; i<m ; i++ ) curr += '0';
if( make_test( curr ) ) l = m;
else r = m;
}
//std::cerr<<" ! "<<l<<"\n";
for( int i=0 ; i<l ; i++ ) nas += '0';
//std::cerr<<" ^ "<<nas<<"\n";
l = 1, r = n+1;
char add = '1';
while( l ){
l = 0, r = n - nas.size() +1;
while( l != r-1 ){
int m = ( l + r ) >> 1;
std::string curr = "";
for( int i=0 ; i<m ; i++ ) curr += add;
curr = nas + curr;
if( make_test( curr ) ) l = m;
else r = m;
}
for( int i=0 ; i<l ; i++ ) nas += add;
// std::cerr<<" ^ "<<nas<<"\n";
if( add == '1' ) add = '0';
else add = '1';
}
l = 1;
add = '1';
while( l ){
l = 0, r = n - nas.size() +1;
while( l != r-1 ){
int m = ( l + r ) >> 1;
std::string curr = "";
for( int i=0 ; i<m ; i++ ) curr += add;
curr = curr + nas;
// std::cerr<<" & "<<curr<<"\n";
if( make_test( curr ) ) l = m;
else r = m;
}
for( int i=0 ; i<l ; i++ ) nas = add + nas;
if( add == '1' ) add = '0';
else add = '1';
}
return nas;
}
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... |