# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
140217 | rajarshi_basu | Mechanical Doll (IOI18_doll) | C++14 | 83 ms | 15616 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 "doll.h"
#define FOR(i,n) for(int i = 0;i<n;i++)
#define FORE(i,a,b) for(int i= a;i<=b;i++)
#define ll long long int
#define vi vector<int>
#define vv vector
#define pb push_back
#define ii pair<int,int>
using namespace std;
const int MAXN = 4e5;
int n,m;
vi out[MAXN];
int ctr = 1;
int x[MAXN];
int y[MAXN];
bool dummy[MAXN];
void ans1wer(vi a,vi b,vi c){
for(auto e : a)cout << e << " ";cout << endl;
FOR(i,b.size()){
cout << b[i] << " " << c[i] << endl;
}
}
int solve(vi nums){
if(nums.size() == 1){
return nums[0];
}
vi lft;vi rght;
FOR(i,nums.size()){
if(i%2 == 0){
lft.pb(nums[i]);
}else{
rght.pb(nums[i]);
}
}
int xx = solve(lft);
int yy = solve(rght);
x[ctr-1] = xx;
y[ctr-1] = yy;
ctr++;
return -(ctr-1);
}
void create_circuit(int m,vi a){
::m = m;
n = a.size();
FOR(i,n){
if(i == n-1){
out[a[i]].pb(0);
}else{
out[a[i]].pb(a[i+1]);
}
}
out[0].pb(a[0]);
vi outof(m+1);
FOR(i,m+1){
if(out[i].size() == 0){
outof[i] = 0;
}else{
int kk = out[i].size();
int lst = out[i].back();
out[i].pop_back();
vi ids;
while((kk&(kk-1)) != 0){
out[i].pb(-ctr);
dummy[ctr] = 1;
x[ctr-1] = -ctr;
ids.pb(ctr);
kk++;
ctr++;
}
out[i].pb(lst);
outof[i] = solve(out[i]);
for(auto e: ids)y[e-1] = outof[i];
}
}
vi xx;
vi yy;
FORE(i,1,ctr-1){
xx.pb(x[i]);
yy.pb(y[i]);
}
answer(outof,xx,yy);
}
int mai1n(){
vi all;
all.pb(1);
all.pb(2);
all.pb(1);
all.pb(3);
all.pb(1);
all.pb(4);
//all.pb(1);
create_circuit(4,all);
return 0;
}
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... |