Submission #1093583

#TimeUsernameProblemLanguageResultExecution timeMemory
1093583huyngoUnscrambling a Messy Bug (IOI16_messy)C++17
38 / 100
1 ms600 KiB
#include<bits/stdc++.h>
using namespace std;
#include "messy.h"

// void add_element(std::string x);
// bool check_element(std::string x);
// void compile_set();

std::vector<int> restore_permutation(int n, int w, int r) {
    vector<int> perm(n);
    string s(n, '0');
    for (int i = 0; i < n; ++i) {
        s[i] = '1';
        add_element(s);
    }
    compile_set();
    s = string(n, '0');
    vector<int> pos(n, 0);
    iota(pos.begin(), pos.end(), 0);
    mt19937 rd(time(0));
    for (int n_bit1 = 1; n_bit1 <= n; ++n_bit1) {
        shuffle(pos.begin(), pos.end(), rd);
        for (int i = 0;i < pos.size(); ++i) {
            s[pos[i]] = '1';
            if (check_element(s)) {
                perm[pos[i]] = n_bit1 - 1;
                pos.erase(pos.begin() + i);
                break;
            }
            else
                s[pos[i]] = '0';
        }
    }
    return perm;
}

Compilation message (stderr)

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:23:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |         for (int i = 0;i < pos.size(); ++i) {
      |                        ~~^~~~~~~~~~~~
#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...