Submission #1093585

#TimeUsernameProblemLanguageResultExecution timeMemory
1093585huyngoUnscrambling a Messy Bug (IOI16_messy)C++17
38 / 100
1 ms436 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); int found = 0; for (int i = 0; i < pos.size() - 1; ++i) { s[pos[i]] = '1'; if (check_element(s)) { perm[pos[i]] = n_bit1 - 1; pos.erase(pos.begin() + i); found = 1; break; } else s[pos[i]] = '0'; } if (!found) { s[pos.back()] = '1'; perm[pos.back()] = n_bit1 - 1; pos.pop_back(); } } return perm; }

Compilation message (stderr)

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