Submission #88859

#TimeUsernameProblemLanguageResultExecution timeMemory
88859123456Triumphal arch (POI13_luk)C++17
90 / 100
1900 ms22764 KiB
#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; if (numberOfTowns <= 1) { return 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 (stderr)

luk.cpp: In function 'int check(int, int)':
luk.cpp:16:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < graph[currentCity].size(); i++) {
                  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...