# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
88860 | 2018-12-09T11:45:54 Z | 123456 | Triumphal arch (POI13_luk) | C++17 | 1636 ms | 22896 KB |
#include <iostream> #include <vector> #include <algorithm> using namespace std; vector<vector<int>> graph; vector<bool> visited; int check(int currentCity, int k) { int childrenSum = 0; visited[currentCity] = true; for (int i = 0; i < graph[currentCity].size(); i++) { if (!visited[graph[currentCity][i]]) { childrenSum += check(graph[currentCity][i], k); } } int numberOfChildren = graph[currentCity].size() - 1; if (currentCity == 0) numberOfChildren++; return max(0, numberOfChildren + childrenSum - k); } int main() { int numberOfTowns; cin >> numberOfTowns; visited.resize(numberOfTowns); graph.resize(numberOfTowns); for (int i = 0; i < numberOfTowns - 1; i++) { int a, b; cin >> a >> b; a--; b--; graph[a].push_back(b); graph[b].push_back(a); } int start = 1; int end = numberOfTowns; int currentK; while (start != end) { for (int i = 0; i < numberOfTowns; i++) { visited[i] = false; } currentK = (start + end) / 2; if (!check(0, currentK)) { end = currentK; } else { start = currentK + 1; } } cout << start << endl; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 380 KB | Output is correct |
3 | Correct | 2 ms | 516 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 516 KB | Output is correct |
2 | Correct | 2 ms | 516 KB | Output is correct |
3 | Correct | 2 ms | 516 KB | Output is correct |
4 | Correct | 2 ms | 516 KB | Output is correct |
5 | Incorrect | 3 ms | 516 KB | Output isn't correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 564 KB | Output is correct |
2 | Correct | 2 ms | 564 KB | Output is correct |
3 | Correct | 2 ms | 564 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 732 KB | Output is correct |
2 | Correct | 3 ms | 732 KB | Output is correct |
3 | Correct | 3 ms | 732 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 1132 KB | Output is correct |
2 | Correct | 16 ms | 1388 KB | Output is correct |
3 | Correct | 56 ms | 1388 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 55 ms | 2328 KB | Output is correct |
2 | Correct | 51 ms | 3196 KB | Output is correct |
3 | Correct | 39 ms | 3196 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 399 ms | 6312 KB | Output is correct |
2 | Correct | 258 ms | 8060 KB | Output is correct |
3 | Correct | 126 ms | 8060 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 739 ms | 12064 KB | Output is correct |
2 | Correct | 637 ms | 16524 KB | Output is correct |
3 | Correct | 298 ms | 16524 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1636 ms | 17824 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1357 ms | 17824 KB | Output is correct |
2 | Correct | 1273 ms | 22896 KB | Output is correct |
3 | Correct | 701 ms | 22896 KB | Output is correct |