| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1240771 | Dedibeat | Martian DNA (IOI16_dna) | C++20 | 10 ms | 496 KiB |
#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;
} 컴파일 시 표준 에러 (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... | ||||
