Submission #1006820

#TimeUsernameProblemLanguageResultExecution timeMemory
1006820Haidara314Closing Time (IOI23_closing)C++17
0 / 100
64 ms20304 KiB
#include "closing.h" #include <bits/stdc++.h> #define S second #define F first using namespace std; vector<pair<int,long long>>adj[200005]; bool vis[200005]; int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W) { long long k=K; for(int i=0;i<N;i++){adj[i].clear();vis[i]=0;} 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]}); } int ans=0; int f=0; priority_queue<pair<int,int>>pq; pq.push({0,X}); pq.push({0,Y}); while(!pq.empty()) { int c=(pq.top()).S; long long y=-((pq.top()).F); pq.pop(); if(vis[c])continue; vis[c]=1; f++; if(y<=K) { K-=y; ans++; for(auto j:adj[c]) { pq.push({-j.S,j.F}); } } } return k; } /* 1 7 0 2 10 0 0 1 2 2 5 1 3 2 4 5 6 2 3 4 2 5 3 */ /* 1 4 0 3 20 0 1 2 1 2 3 18 1 19 */
#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...