Submission #1080380

#TimeUsernameProblemLanguageResultExecution timeMemory
1080380shmaxClosing Time (IOI23_closing)C++17
8 / 100
68 ms23888 KiB
#include "closing.h" #include "bits/stdc++.h" using namespace std; using i32 = int; #define int long long #define len(x) (int)(x.size()) #define all(x) x.begin(), x.end() template<typename T> using vec = vector<T>; i32 max_score(i32 N, i32 X, i32 Y, int K, std::vector<i32> U, std::vector<i32> V, std::vector<i32> W) { i32 ans = 0; priority_queue<pair<int, int>, vec<pair<int, int>>, greater<>> pq; vec<vec<pair<int, int>>> g(N); for (int i = 0; i < len(U); i++) { g[U[i]].emplace_back(V[i], W[i]); g[V[i]].emplace_back(U[i], W[i]); } pq.emplace(0, X); pq.emplace(0, Y); vec<bool> used(N, false); while (!pq.empty()) { auto [cost, cur] = pq.top(); pq.pop(); if (used[cur]) continue; if (K < cost) break; used[cur] = true; K -= cost; ans++; for(auto [u,w] : g[cur]){ if(used[u]) continue; pq.emplace(cost+w,u); } } return ans; }
#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...