# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1135880 | raspy | Unscrambling a Messy Bug (IOI16_messy) | C++20 | 1 ms | 584 KiB |
#include <vector>
#include <string>
#include "messy.h"
#define pb push_back
#define f first
#define s second
using namespace std;
vector<int> restore_permutation(int n, int w, int r)
{
for (int dl = n; dl>=2; dl/=2)
{
for (int zc = 0; zc < n; zc+=dl)
{
string t = "";
for (int i = 0; i < n; i++) t.pb((i>=zc&&i<zc+dl ? '0' : '1'));
for (int i = zc; i < zc+dl/2; i++)
{
t[i] = '1';
add_element(t);
t[i] = '0';
}
}
}
compile_set();
vector<pair<int, int>> mj(n, {0, n-1});
for (int i = 0; i < n; i++)
{
string t = "";
for (int j = 0; j < n; j++)
t.pb((j>=mj[i].f&&i<=mj[i].s ? '0' : '1'));
t[i] = '1';
bool o = check_element(t);
if (o)
mj[i] = {mj[i].f, (mj[i].f+mj[i].s)/2};
else
mj[i] = {(mj[i].f+mj[i].s)/2, (mj[i].s)};
}
vector<int> rez;
for (int i = 0; i < n; i++)
rez.pb(mj[i].f);
return rez;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |