(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #361968

#TimeUsernameProblemLanguageResultExecution timeMemory
361968Sparky_09Traffic (IOI10_traffic)C++17
100 / 100
1191 ms159032 KiB
#include "traffic.h" #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; typedef pair<ll, ll> pii; typedef vector<ll> vi; typedef vector<pii> vpi; void usaco(string s){ freopen((s+".in").c_str(), "r", stdin); freopen((s+".out").c_str(), "w", stdout); } const int MX = 1e6; const int INF = 2e9 + 1; int fans = 0; vector<int> g[MX], nodes(MX), people(MX), children(MX); void dfs (int v, int parent) { for (auto x: g[v]) { if (x == parent) continue; dfs(x, v); children[v] += children[x]; people[v] = max(people[v], children[x]); } people[v] = max(people[v], fans - children[v] - nodes[v]); children[v] += nodes[v]; } int LocateCentre (int n, int p[], int d[], int s[]) { for (int i = 0; i < n; i++) { fans += p[i]; nodes[i] = p[i]; } for (int i = 0; i < n - 1; i++) { g[s[i]].push_back(d[i]); g[d[i]].push_back(s[i]); } dfs(0, -1); int sol = INF, res = -1; for (int i = 0; i < n; i++) { if (people[i] < sol) { res = i; sol = people[i]; } } return res; } /* int main() { cin.tie(0)->sync_with_stdio(0); cin.exceptions(cin.failbit); #ifdef LOCAL_DEFINE freopen("input.txt", "r", stdin); #endif } */

Compilation message (stderr)

traffic.cpp: In function 'void usaco(std::string)':
traffic.cpp:13:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   13 |   freopen((s+".in").c_str(), "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
traffic.cpp:14:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   14 |   freopen((s+".out").c_str(), "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...