# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1000568 | De3b0o | Super Dango Maker (JOI22_dango3) | C++17 | 2396 ms | 928 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dango3.h"
#include<bits/stdc++.h>
#define ll long long
#define F first
#define S second
#define in insert
#define pb push_back
#define ppb pop_back()
#define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define cans cout << ans << "\n";
#define yes cout << "Yes" << "\n";
#define no cout << "No" << "\n";
#define pll pair<ll,ll>
#define lin cout << "\n";
#define sqr 340
#define mod 1000000007
#define mid ((l+r)/2)
#define lc (2*x)
#define rc (2*x+1)
using namespace std;
ll n , m;
vector<int> ans[26];
bool vis[26][5001];
vector<ll> idx;
void Solve(int N, int M)
{
n=N;
m=M;
for(int i = 1 ; n*m>=i ; i++)
idx.pb(i);
random_shuffle(idx.begin(),idx.end());
for(int h = 0 ; n*m>h ; h++)
{
ll i = idx[h];
ll l = 0 , r = m-1;
ll f;
while(l<=r)
{
ll j = mid;
if(ans[j].size()==n)
{
l=mid+1;
continue;
}
vector<int> q;
for(int jj = 1 ; n*m>=jj ; jj++)
{
if(vis[j][jj]||jj==i)
continue;
q.pb(jj);
}
if(Query(q)==m-1)
{
f=mid;
r=mid-1;
}
else
l=mid+1;
}
vis[f][i]=1;
ans[f].pb(i);
}
for(int i = 0 ; m>i ; i++)
Answer(ans[i]);
}
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... |