| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 677990 | Doncho_Bonboncho | Martian DNA (IOI16_dna) | C++14 | 70 ms | 528 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
컴파일 시 표준 에러 (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... | ||||
