답안 #1060667

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1060667 2024-08-15T20:33:14 Z ArthuroWich 자동 인형 (IOI18_doll) C++17
47 / 100
103 ms 12120 KB
#include "doll.h"
#include<bits/stdc++.h>
using namespace std;
struct node {
    int l = -1, r = -1, y = 0;
};
int timer = 2, dep;
vector<int> x, y;
node tree[500005];
void build(int n, int d) {
    if (dep-1 == d) {
        return;
    }
    tree[n].l = -timer;
    timer++;
    tree[n].r = -timer;
    timer++;
    build(-tree[n].l, d+1);
    build(-tree[n].r, d+1);
}
void create(int n, int d, int v) {
    if (dep-1 == d) {
        if (tree[n].y == 0) {
            tree[n].l = v;
        } else {
            tree[n].r = v;
        }
    } else {
        if (tree[n].y == 0) {
            create(-tree[n].l, d+1, v);
        } else {
            create(-tree[n].r, d+1, v);
        }
    }
    tree[n].y ^= 1;
}
void create_circuit(int m, vector<int> a) {
    vector<int> d(m+1, -1);
    d[0] = a[0];
    int n = a.size(), s;
    dep = ceil(log2(n));
    s = 1 << dep;
    build(1, 0);
    for (int i = 1; i < s; i++) {
        if (i < a.size()) {
            create(1, 0, a[i]);
            d[a[i]] = -1;
        } else {
            create(1, 0, -1);
        }
    }
    create(1, 0, 0);
    for (int i = 1; i < s; i++) {
        x.push_back(tree[i].l);
        y.push_back(tree[i].r);
    }
    answer(d, x, y);
}

Compilation message

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:45:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |         if (i < a.size()) {
      |             ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 348 KB Output is partially correct
2 Correct 48 ms 6088 KB Output is correct
3 Partially correct 88 ms 10928 KB Output is partially correct
4 Partially correct 102 ms 11452 KB Output is partially correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 0 ms 348 KB Output is partially correct
2 Correct 48 ms 6088 KB Output is correct
3 Partially correct 88 ms 10928 KB Output is partially correct
4 Partially correct 102 ms 11452 KB Output is partially correct
5 Partially correct 103 ms 12036 KB Output is partially correct
6 Partially correct 103 ms 11944 KB Output is partially correct
7 Partially correct 99 ms 12120 KB Output is partially correct
8 Partially correct 99 ms 11684 KB Output is partially correct
9 Partially correct 95 ms 10792 KB Output is partially correct
10 Partially correct 97 ms 11600 KB Output is partially correct
11 Partially correct 101 ms 11488 KB Output is partially correct
12 Partially correct 91 ms 11104 KB Output is partially correct
13 Correct 49 ms 6268 KB Output is correct
14 Partially correct 91 ms 11380 KB Output is partially correct
15 Partially correct 99 ms 11440 KB Output is partially correct
16 Partially correct 2 ms 604 KB Output is partially correct
17 Correct 50 ms 6128 KB Output is correct
18 Correct 47 ms 6088 KB Output is correct
19 Partially correct 94 ms 11104 KB Output is partially correct
20 Partially correct 99 ms 11608 KB Output is partially correct
21 Partially correct 98 ms 11452 KB Output is partially correct
22 Partially correct 97 ms 11488 KB Output is partially correct