Submission #1232766

#TimeUsernameProblemLanguageResultExecution timeMemory
1232766m5588ohammedClosing Time (IOI23_closing)C++20
8 / 100
79 ms20268 KiB
#include "closing.h" #include <bits/stdc++.h> using namespace std; vector <array<long long,2>> v[200005]; long long n,x,y,k,ans; void calc(){ priority_queue <array<long long,4>> qu; qu.push({0,x,-1,0}); qu.push({0,y,-1,1}); while(!qu.empty()){ auto [mydis,i,last,u]=qu.top(); mydis*=-1; qu.pop(); if(k>=mydis){ ans++; k-=mydis; } else continue; for(auto [j,c]:v[i]){ if(j==last) continue; qu.push({(mydis+c)*-1,j,i,u}); } } return; } int max_score(int N, int X, int Y, long long K,vector<int> U, vector<int> V, vector<int> W) { n=N,x=X,y=Y,k=K; ans=0; for(int i=0;i<n;i++) v[i].clear(); for(int i=0;i<n-1;i++){ v[U[i]].push_back({V[i],W[i]}); v[V[i]].push_back({U[i],W[i]}); } calc(); 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...