Submission #1006773

#TimeUsernameProblemLanguageResultExecution timeMemory
1006773Haidara314Closing Time (IOI23_closing)C++17
0 / 100
73 ms20312 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) { 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; 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; if(y<=K) { K-=y; ans++; for(auto u:adj[c]) { pq.push({-u.S,u.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...