Submission #1215547

#TimeUsernameProblemLanguageResultExecution timeMemory
1215547qwushaClosing Time (IOI23_closing)C++20
0 / 100
74 ms26036 KiB
#include <bits/stdc++.h> #include "closing.h" using namespace std; #define fi first #define se second typedef long long ll; typedef long double ld; mt19937 rnd(chrono::high_resolution_clock::now().time_since_epoch().count()); ll inf = 1e15; vector<vector<pair<ll, ll>>> g; int max_score(int n, int x, int y, ll k, vector<int> u, vector<int> v, vector<int> w) { g.resize(n); for (int i = 0; i < n - 1; i++) { g[u[i]].push_back({v[i], w[i]}); g[v[i]].push_back({u[i], w[i]}); } vector<ll> dist(n, inf); vector<pair<ll, ll>> st; dist[x] = 0; dist[y] = 0; int cnt = 0; st.push_back({0, x}); st.push_back({0, y}); int q = 0; ll cur = k; while (q < st.size()) { ll d = st[q].fi, ve = st[q].se; q++; if (cur >= d) { cur -= d; cnt++; } for (auto [uv, ti] : g[ve]) { if (dist[uv] == inf) { dist[uv] = dist[ve] + ti; st.push_back({dist[uv], uv}); } } } return cnt; } /* signed main() { }*/
#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...