Submission #1240748

#TimeUsernameProblemLanguageResultExecution timeMemory
1240748AmaarsaaMartian DNA (IOI16_dna)C++20
36 / 100
9 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; if ( make_test(string(n, '1'))) return string(n, '1'); lo = 1; hi = n + 1; while (lo < hi) { mid = (lo + hi)/2; if ( !make_test(string(mid, '0'))) hi = mid; else lo =mid +1; } lo --; 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 && str.size() == n) return str; lo = 1; hi = str.size() + 1; 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; }

Compilation message (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...