Submission #212610

# Submission time Handle Problem Language Result Execution time Memory
212610 2020-03-23T19:39:40 Z MarcoMeijer Mechanical Doll (IOI18_doll) C++14
47 / 100
262 ms 11292 KB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
 
//macros
typedef long long ll;
typedef pair<int, int> ii;
typedef tuple<int, int, int> iii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<iii> viii;
typedef vector<ll> vll;
#define REP(a,b,c) for(int a=int(b); a<int(c); a++)
#define RE(a,c) REP(a,0,c)
#define RE1(a,c) REP(a,1,c+1)
#define REI(a,b,c) REP(a,b,c+1)
#define REV(a,b,c) for(int a=int(c-1); a>=int(b); a--)
#define INF 1e9
#define pb push_back
#define fi first
#define se second
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
 
int n, s;
vi c, x, y, a, state;
 
int LOG2(int _X) {
  int cur=1, cnt=0;
  while(1) {
    if(cur >= _X) return cnt;
    cnt++;
    cur *= 2;
  }
}
int createTriangle(int size) {
  if(size == 0) return 0;
  int i=s;
  s++;
  int id = -s;
  int nx = createTriangle(size-1);
  int ny = createTriangle(size-1);
  x[i] = nx;
  y[i] = ny;
  return id;
}
void setTriangle(int u, int value) {
  u = -1-u;
  if(state[u]) {
    if(y[u] == 0) y[u] = value;
    else setTriangle(y[u], value);
  } else {
    if(x[u] == 0) x[u] = value;
    else setTriangle(x[u], value);
  }
  state[u] = !state[u];
}
 
void create_circuit(int m, vi A) {
  a = A;
  s = 0;
  a.push_back(0);
  n = a.size();
  c.clear(); x.clear(); y.clear(); state.clear();
  int mx=3e5;
  x.resize(mx);
  y.resize(mx);
  state.resize(mx);
  RE(i,mx) state[i]=0;
 
  int l2 = LOG2(n-1);
  int root = createTriangle(l2);
  int empty = (1<<l2) - (n-1);
  RE(i,empty) setTriangle(root,root);
  REP(i,1,n) setTriangle(root, a[i]);
 
  c.resize(m+1);
  RE(i,m+1) c[i] = root;
  c[0] = a[0];
  x.resize(s);
  y.resize(s);
 
  answer(c, x, y);
}
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 3788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 3788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 3788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 3780 KB Output is correct
2 Correct 3 ms 3788 KB Output is correct
3 Correct 3 ms 3788 KB Output is correct
4 Correct 3 ms 3788 KB Output is correct
5 Correct 3 ms 3788 KB Output is correct
6 Correct 3 ms 3788 KB Output is correct
7 Correct 3 ms 3788 KB Output is correct
8 Correct 3 ms 3788 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 3 ms 3788 KB Output is partially correct
2 Correct 104 ms 8044 KB Output is correct
3 Partially correct 184 ms 9456 KB Output is partially correct
4 Partially correct 173 ms 10264 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 3 ms 3788 KB Output is partially correct
2 Correct 104 ms 8044 KB Output is correct
3 Partially correct 184 ms 9456 KB Output is partially correct
4 Partially correct 173 ms 10264 KB Output is partially correct
5 Partially correct 186 ms 11292 KB Output is partially correct
6 Partially correct 221 ms 11008 KB Output is partially correct
7 Partially correct 181 ms 11140 KB Output is partially correct
8 Partially correct 213 ms 10700 KB Output is partially correct
9 Partially correct 156 ms 9524 KB Output is partially correct
10 Partially correct 253 ms 10748 KB Output is partially correct
11 Partially correct 170 ms 10388 KB Output is partially correct
12 Partially correct 176 ms 9696 KB Output is partially correct
13 Correct 93 ms 8768 KB Output is correct
14 Partially correct 262 ms 10216 KB Output is partially correct
15 Partially correct 200 ms 10420 KB Output is partially correct
16 Partially correct 6 ms 4044 KB Output is partially correct
17 Correct 87 ms 8264 KB Output is correct
18 Correct 84 ms 8284 KB Output is correct
19 Partially correct 173 ms 9692 KB Output is partially correct
20 Partially correct 199 ms 10620 KB Output is partially correct
21 Partially correct 178 ms 10268 KB Output is partially correct
22 Partially correct 201 ms 10328 KB Output is partially correct