Submission #187342

#TimeUsernameProblemLanguageResultExecution timeMemory
187342BlagojceMartian DNA (IOI16_dna)C++11
100 / 100
17 ms396 KiB
#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i <(m); i ++)
#define pb push_back
#define st frist
#define nd second
#define pq priority_queue
#define all(x) begin(x),end(x)

using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
ll const inf = 1e9;
ll const mod = 1e9 + 7;
ld const eps = 1e-9;
#include "dna.h"

mt19937 mt_rand(time(NULL));
/*
bool make_test(string s){
        return true;
}*/
string analyse(int n, int t){
        string ans = "";
        int res = 0;
        int err = 0;
        while(err < 19 && res < n){
                ans += (char)(mt_rand() % 2 + '0');
                res ++;
                if(make_test(ans)){
                        err = 0;
                }
                else{
                        err ++;
                        if(ans[res - 1] == '0') ans[res - 1] = '1';
                        else ans[res - 1] = '0';
                }
        }
        int l = res - err - 1, r = res - 1;

        while(l <= r){
                int mid = (l + r) / 2;
                if(make_test(ans.substr(0, mid + 1))){
                        res = mid + 1;
                        l = mid + 1;
                }
                else{
                        r = mid - 1;
                }
        }
        ans.resize(res);
        while(res < n){
                if(make_test("0" + ans)){
                        ans = "0" + ans;
                }
                else{
                        ans = "1" + ans;
                }
                res ++;
        }
        return ans;
}/*
int main()
{

    return 0;
}*/

Compilation message (stderr)

grader.cpp: In function 'bool make_test(std::__cxx11::string)':
grader.cpp:14:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < p.size(); i++) {
                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1; i <= ss.size(); i++) {
                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (pr[i] == p.size()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...