Submission #840887

#TimeUsernameProblemLanguageResultExecution timeMemory
840887Mohmad_ZaidClosing Time (IOI23_closing)C++17
0 / 100
136 ms29780 KiB
// #include "closing.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back int max_score(int N, int X, int Y, long long K,vector<int> U, vector<int> V, vector<int> W) { int n=N; set<ll>dis; vector<vector<pair<int,int>>>g(n,vector<pair<int,int>>()); for(int i=0;i<n;i++){ g[U[i]].pb({V[i],W[i]}); g[V[i]].pb({U[i],W[i]}); } queue<pair<pair<int,int>,ll>>q; pair<pair<int,int>,ll>one={{X,X},0},two={{Y,Y},0}; q.push(one); q.push(two); while(!q.empty()){ int p=q.front().first.first; int v=q.front().first.second; ll cur=q.front().second; q.pop(); for(auto i:g[v]){ if(i.first==p)continue; if(cur+i.second>K)continue; dis.insert(cur+i.second); pair<pair<int,int>,ll>temp={{v,i.first},i.second+cur}; q.push(temp); } } int ans=0; for(auto i:dis){ if(i>K)break; K-=i;ans++; } return ans+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...