Submission #160617

#TimeUsernameProblemLanguageResultExecution timeMemory
160617SpaimaCarpatilorSubway (info1cup19_subway)C++17
100 / 100
10 ms1140 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...