Submission #162765

#TimeUsernameProblemLanguageResultExecution timeMemory
162765_qVp_Mag (COCI16_mag)C++14
24 / 120
569 ms90432 KiB
#include <bits/stdc++.h> using namespace std; const int md = 1e6 + 10; vector < int > adj[md]; int d[md], f[md], a[md], u[md], v[md]; queue < int > q; int n; int bfs(int s) { d[s] = 1; q.push(s); int u = 0; while (q.size()) { u = q.front(); q.pop(); for(int i = 0; i < adj[u].size(); i++) { int v = adj[u][i]; if (d[v] > 0) continue; d[v] = d[u] + 1; q.push(v); } } //cout << u << endl; f[u] = 1; q.push(u); while (q.size()) { u = q.front(); q.pop(); for(int i = 0; i < adj[u].size(); i++) { int v = adj[u][i]; if (f[v] > 0) continue; f[v] = f[u] + 1; q.push(v); } } return f[u]; } int main() { //freopen("test.in", "r", stdin); ios_base::sync_with_stdio(0); cin >> n; for(int i = 1; i < n; i++) cin >> u[i] >> v[i]; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i < n; i++) { //int u, v; //cin >> u >> v; if (a[u[i]] == 1 && a[v[i]] == 1) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } } long long a1 = 1e9 + 10, b1 = 1; for(int i = 1; i <= n; i++) { if (d[i] > 0) continue; long long b2 = bfs(i); // cout << i << " " << a[i] << " " << b2 << endl; if (a1 * b2 >= b1 * a[i]) { a1 = a[i]; b1 = b2; } } cout << a1 << "/" << b1; return 0; }

Compilation message (stderr)

mag.cpp: In function 'int bfs(int)':
mag.cpp:18:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < adj[u].size(); i++) {
                        ~~^~~~~~~~~~~~~~~
mag.cpp:31:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < adj[u].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...