Submission #1137004

#TimeUsernameProblemLanguageResultExecution timeMemory
1137004Mousa_Aboubaker봉쇄 시간 (IOI23_closing)C++20
8 / 100
58 ms17220 KiB
#include "closing.h" #include <bits/stdc++.h> using namespace std; template <typename T> using pqg = priority_queue<T, vector<T>, greater<T>>; int max_score(int N, int X, int Y, long long K, vector<int> U, vector<int> V, vector<int> W) { vector adj(N, vector<pair<int, int>>()); for(int i = 0; i < N - 1; i++) { adj[U[i]].push_back({V[i], W[i]}); adj[V[i]].push_back({U[i], W[i]}); } pqg<tuple<int, int, int>> pq; for(auto [child, weight]: adj[X]) pq.push({weight, child, X}); for(auto [child, weight]: adj[Y]) pq.push({weight, child, Y}); long long sum = 0; int res = 0; while(not pq.empty()) { auto [weight, u, p] = pq.top(); pq.pop(); if(sum + weight > K) break; sum += weight; res++; for(auto [child, childWeight]: adj[u]) if(child != p) pq.push({weight + childWeight, child, u}); } return res + 2; }
#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...