Submission #1265060

#TimeUsernameProblemLanguageResultExecution timeMemory
1265060tvgkSuper Dango Maker (JOI22_dango3)C++20
0 / 100
1453 ms684 KiB
#include "dango3.h"
#include<bits/stdc++.h>
using namespace std;
#define task "a"
#define se second
#define fi first
#define ll long long
#define ii pair<ll, ll>
const long mxN = 1e4 + 7;

int n, m;
vector<int> ans[30];

int Binary(int mid, int j)
{
    vector<int> ask;
    for (int i = j + 1; i <= n * m; i++)
        ask.push_back(i);

    for (int i = mid + 1; i <= m; i++)
    {
        for (int u : ans[i])
            ask.push_back(u);
    }

    return Query(ask);
}

void Solve(int N, int M)
{
    n = N;
    m = M;

    for (int i = 1; i <= n * m; i++)
    {
        int l = 1, r = m, res = m;
        while (l <= r)
        {
            int mid = (l + r) / 2;

            if (Binary(mid, i) != m - mid)
                l = mid + 1;
            else
            {
                res = mid;
                r = mid - 1;
            }
        }
        ans[res].push_back(i);
    }

    for (int i = 1; i <= m; i++)
        Answer(ans[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...