Submission #940436

#TimeUsernameProblemLanguageResultExecution timeMemory
940436jasen_penchevSuper Dango Maker (JOI22_dango3)C++17
100 / 100
378 ms852 KiB
#include "dango3.h"
///#include "grader.cpp"
#include <iostream>
#include <vector>
#define endl '\n'
using namespace std;

int Query(const vector<int> &x);

void Answer(const vector<int> &a);

void rec(vector<int> &v, int cnt)
{
    if (cnt == 1)
    {
        Answer(v);
        return;
    }

    vector<int> v2;
    for (int i = v.size() - 1; i >= 0; -- i)
    {
        v2.push_back(v[i]);
        v.erase(v.begin() + i);
        if (Query(v) < cnt / 2)
        {
            v.push_back(v2.back());
            v2.pop_back();
        }
    }

    rec(v, cnt / 2);
    rec(v2, cnt - cnt / 2);
}

void Solve(int N, int M)
{
    vector<int> v;
    for (int i = 1; i <= N * M; ++ i)
    {
        v.push_back(i);
    }
    rec(v, M);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...