Submission #120279

# Submission time Handle Problem Language Result Execution time Memory
120279 2019-06-24T06:28:56 Z turbat Mechanical Doll (IOI18_doll) C++14
37 / 100
110 ms 9724 KB
#include <bits/stdc++.h>
#include "doll.h"
using namespace std;

int n, m, s, cnt;
vector <int> x, y, c, a;

void build (int node, int l, int r, int idx, int p){
    if (r - l == 1){
        if (idx >= n) x[node - 1] = -1; 
        else x[node - 1] = a[idx];
        if (idx + p >= n) y[node - 1] = -1;
        else y[node - 1] = a[idx + p];
        return;
    }
    int mid = (l + r) / 2;
    x[node - 1] =  -(node * 2);
    y[node - 1] = -(node * 2 + 1);
    build (node * 2, l, mid, idx, p * 2);
    build (node * 2 + 1, l, mid, idx + p, p * 2);
}

void create_circuit(int M, vector<int> A) {
    a = A;
    s = n = A.size();
    m = M;
    while (__builtin_popcount(s) != 1) s += s & -s;
    if (s == n) s *= 2;
    x.resize(s - 1);
    y.resize(s - 1);
    c.resize(m + 1);
    for (int i = 0;i <= m;i++) c[i] = -1;
    build(1, 0, s - 1, 0, 1);
    if (n == s) c[A.back()] = 0;
    else y[s - 2] = 0;
    // for (int i = 0;i <= m;i++) cout <<i << ' '<< c[i]<< endl;
    // for (int i = 0;i < s - 1;i++) cout << i + 1<< ' '<< x[i] << ' '<< y[i]<< endl;
    answer(c, x, y);
}   
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 204 KB Output is partially correct
2 Partially correct 71 ms 7976 KB Output is partially correct
3 Partially correct 77 ms 7988 KB Output is partially correct
4 Partially correct 95 ms 8760 KB Output is partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 1 ms 204 KB Output is partially correct
2 Partially correct 71 ms 7976 KB Output is partially correct
3 Partially correct 77 ms 7988 KB Output is partially correct
4 Partially correct 95 ms 8760 KB Output is partially correct
5 Partially correct 87 ms 9724 KB Output is partially correct
6 Partially correct 103 ms 9588 KB Output is partially correct
7 Partially correct 91 ms 9632 KB Output is partially correct
8 Partially correct 87 ms 9232 KB Output is partially correct
9 Partially correct 95 ms 8088 KB Output is partially correct
10 Partially correct 94 ms 9228 KB Output is partially correct
11 Partially correct 86 ms 8856 KB Output is partially correct
12 Partially correct 76 ms 8344 KB Output is partially correct
13 Partially correct 96 ms 8632 KB Output is partially correct
14 Partially correct 75 ms 8812 KB Output is partially correct
15 Partially correct 75 ms 8920 KB Output is partially correct
16 Partially correct 3 ms 588 KB Output is partially correct
17 Correct 50 ms 4912 KB Output is correct
18 Partially correct 80 ms 8252 KB Output is partially correct
19 Partially correct 72 ms 8272 KB Output is partially correct
20 Partially correct 83 ms 9132 KB Output is partially correct
21 Partially correct 110 ms 8872 KB Output is partially correct
22 Partially correct 95 ms 8876 KB Output is partially correct