# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
923694 | alexdd | Super Dango Maker (JOI22_dango3) | C++17 | 2 ms | 604 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>
using namespace std;
int n,m;
vector<int> ord;
vector<int> favec(vector<int> cv, int mij)
{
vector<int> aux = cv;
for(int j=0;j<=mij;j++)
aux.push_back(ord[j]);
return aux;
}
void scoate_unu()
{
int ult = ord.size();
vector<int> cv;
for(int i=1;i<=n;i++)
{
int st,dr,mij,ans=ult-1;
if(i==ult || !Query(favec(cv,mij-2)))
ans=ult-1;
else
{
st=0;
dr=ult-1;
while(st<=dr)
{
mij=(st+dr)/2;
if(Query(favec(cv,mij)))
{
ans=mij;
dr=mij-1;
}
else
st=mij+1;
}
}
cv.push_back(ord[ans]);
ult=ans;
ord.erase(ord.begin()+ans);
}
Answer(cv);
}
void Solve(int N, int M)
{
n=N;
m=M;
for(int i=1;i<=n*m;i++)
ord.push_back(i);
random_shuffle(ord.begin(),ord.end());
for(int i=1;i<m;i++)
scoate_unu();
Answer(ord);
}
/**
3 2
3 3 1 2 1 2
*/
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... |