Submission #160617

# Submission time Handle Problem Language Result Execution time Memory
160617 2019-10-28T20:13:44 Z SpaimaCarpatilor Subway (info1cup19_subway) C++17
100 / 100
10 ms 1140 KB
#include <iostream>
#include <cstdio>
#include <vector>
#include <cassert>

using namespace std;

vector < int > parents;

int computeMaxH(int x) {
    int h = 0;
    while (h * (h + 1) / 2 <= x)
        h++;
    return h - 1;
}

void generateTree(int maxH) {
    parents.push_back(-1);
    for (int i = 1; i <= maxH; ++i)
        parents.push_back(i-1);
}

void printTree() {
    printf("%d\n", (int)parents.size());
    for (int i = 0; i < (int)parents.size(); ++i)
        printf("%d %d\n", i, (int)parents[i]);
}

int main() {
    //freopen("input","r",stdin);
    //freopen("output","w",stdout);

    int k; cin >> k;
    int maxH = computeMaxH(k);
    generateTree(maxH);

    k -= maxH * (maxH + 1) / 2;
    if (k > 0)
        parents.push_back(k-1);

    printTree();

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
11 Correct 3 ms 504 KB Output is correct
12 Correct 4 ms 504 KB Output is correct
13 Correct 3 ms 504 KB Output is correct
14 Correct 4 ms 504 KB Output is correct
15 Correct 3 ms 504 KB Output is correct
16 Correct 10 ms 1140 KB Output is correct
17 Correct 2 ms 376 KB Output is correct
18 Correct 9 ms 1140 KB Output is correct
19 Correct 7 ms 1016 KB Output is correct
20 Correct 7 ms 888 KB Output is correct