Submission #1243315

#TimeUsernameProblemLanguageResultExecution timeMemory
1243315YassirSalamaUnscrambling a Messy Bug (IOI16_messy)C++20
0 / 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) {
    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++){
        add_element(f(i));
    }
    compile_set();
    bool visited[n];memset(visited,false,sizeof(visited));
    vector<int> kn;
    for(int i = n-1;i>=0;i--){
        string s = string(n,'1');
        for(auto x : kn){
            s[x] = '0';
        }
        for(int j = 0;j<n;j++){
            if(visited[j]) continue;
            string t = s;
            t[j] = '0';
            if(check_element(t)){
                //this means p[j] = i
                p[j] = i;
                kn.pb(j);
                visited[j] = 1;
                continue;
            }
        }
    }
    memset(visited,false,sizeof(visited));
    for(auto x : p) if(x!=-1) visited[x] = 1;
    for(int i = 0;i<n;i++) if(visited[i]==0) p[n-1] = i;
    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...