# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
717773 | Rafi22 | The Collection Game (BOI21_swaps) | C++14 | 1 ms | 208 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 <bits/stdc++.h>
#include "swaps.h"
using namespace std;
#define endl '\n'
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
#define ll long long
ll mod=1000000007;
int inf=1000000007;
ll infl=1000000000000000007;
const int N=507;
void solve(int n,int v)
{
vector<vector<pair<int,int>>>res;
vector<pair<int,int>>V;
vector<int>ans(n);
for(int i=0;i<n;i++) ans[i]=i+1;
V.pb({1,n});
while(sz(V)>0)
{
vector<pair<int,int>>X;
vector<vector<pair<int,int>>>T;
for(auto [l,r]:V) X.pb({l,r});
while(sz(X)>0)
{
vector<pair<int,int>>nX,t;
for(auto [l,r]:X)
{
int m=(l+r)/2;
if(l<m) nX.pb({l,m});
if(m+1<r) nX.pb({m+1,r});
for(int i=0; m-i>=l&&m+i+1<=r;i++) t.pb({m-i,m+i+1});
}
T.pb(t);
X=nX;
}
reverse(all(T));
for(auto x:T) res.pb(x);
vector<pair<int,int>>nV;
for(auto [l,r]:V)
{
int m=(l+r)/2;
if(l<m) nV.pb({l,m});
if(m+1<r) nV.pb({m+1,r});
}
V=nV;
}
for(auto x:res)
{
for(auto [a,b]:x) schedule(a,b);
vector<int>A=visit();
int it=0;
for(auto [a,b]:x)
{
if(A[it]==0) swap(ans[a-1],ans[b-1]);
it++;
}
}
answer(ans);
}
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... |
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |