제출 #1240736

#제출 시각아이디문제언어결과실행 시간메모리
1240736AmaarsaaMartian DNA (IOI16_dna)C++20
0 / 100
8 ms328 KiB
#include "dna.h"
#include<bits/stdc++.h>

using namespace std;
using ll = long long;

string analyse(int n, int t) {
    string str = "";
    ll lo, mid, hi, cnt;
    lo = 0;
    hi = n + 1;

    while (lo < hi) {
        mid = (lo + hi)/2;
        if ( !make_test(string(mid, '0'))) hi = mid;
        else lo =mid +1;
    }
    lo --;

    if ( lo <= 0) {
        return string(n, '1');
    }
    cnt = 0;
    while(str.size() < n) {
        string str1 = str + '1';
        if ( cnt > lo) break;
        if ( make_test(str1)) {
            str = str1;
            cnt =0;
            continue;
        }

        str1[str1.size() - 1]= '0';
        str = str1;
        cnt ++;
    }
    if ( cnt <= lo) return str;
    lo = 1;
    hi = str.size();

    while (lo < hi) {
        mid = (lo + hi)/2;
        string str1 = str.substr(0, mid);
        if ( make_test(str1)) lo = mid + 1;
        else hi = mid;
    }
    lo --;

    str = str.substr(0, lo);
    while (str.size() < n) {
        string str1 = "1" + str;
        if ( !make_test(str1)) str1[0] = '0';
        str = str1;
    }
    return str;
}

컴파일 시 표준 에러 (stderr) 메시지

dna.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...