Submission #1243324

#TimeUsernameProblemLanguageResultExecution timeMemory
1243324YassirSalamaUnscrambling a Messy Bug (IOI16_messy)C++20
38 / 100
1 ms328 KiB
#include <vector>
#include "messy.h"
#include<bits/stdc++.h>
using namespace std;
#define all(v) v.begin(),v.end()
#define pb push_back

std::vector<int> restore_permutation(int n, int w, int r) {
    std::random_device rd;
    std::mt19937 g(rd());
    auto f = [&](int i){
        string s = string(n,'0');
        for(int j = 0;j<=i;j++) s[j] = '1';
        return s;
    };
    vector<int> p(n,-1);
    for(int i = 0;i<n;i++){
        string t = f(i);
        add_element(f(i));
    }
    compile_set();
    bool visited[n];memset(visited,false,sizeof(visited));
    vector<int> kn;
    for(int i = n-1;i>=1;i--){
        string s = string(n,'1');
        for(auto x : kn){
            s[x] = '0';
        }
        bool check[n];memset(check,false,sizeof(check));
        for(auto x : kn) check[x] = 1;
        for(;1;){
            int j = g()%n;
            if(check[j]) continue;
            string t = s;
            check[j] = 1;
            t[j] = '0';
            if(check_element(t)){
                p[j] = i;
                kn.pb(j);
                visited[j] = 1;
                break;
            }
        }
    }
    for(int i = 0;i<n;i++) if(p[i]==-1) p[i] = 0;
    return p;
}

Compilation message (stderr)

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...