# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
794854 | bane | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "dna.h"
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
string analyse(int n, int t) {
string ans = "";
int resp = 0;
while(ans.size() < n){
if (19 < resp){
break;
}
ans += '0' + uniform_int_distribution<int>(0,1)(rng);
if (make_test(ans)){
resp = 0;
continue;
}
if (ans.back() == '1')ans.back() = '0';
else ans.back() = '1';
++resp;
}
int r = ans.size() - 1, l = ans.size() - resp;
while(l<=r){
int mid = (l+r) / 2;
if (make_test(ans.substr(0,mid+1))){
l = mid + 1;
}else{
r = mid - 1;
}
}
//iame desna strana
ans = ans.substr(0,l);
while(ans.size() != n){
if (make_test('1' + ans))ans = '1' + ans;
else ans = '0' + ans;
}
return ans;
}