Submission #1070437

#TimeUsernameProblemLanguageResultExecution timeMemory
1070437Marco_EscandonClosing Time (IOI23_closing)C++17
8 / 100
69 ms24804 KiB

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define x first
#define y second
int max_score(int n, int X, int Y, long long K,std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    vector<vector<pair<ll,ll>>> cad(n+2);
    for(int i=0; i<n-1; i++)
    {
        cad[U[i]].push_back({V[i],W[i]});
        cad[V[i]].push_back({U[i],W[i]});
    }
    priority_queue<pair<ll,ll>> q;q.push({0,X});q.push({0,Y});
    vector<ll> v(n+2,-1);
    ll cont=0;
    while(!q.empty())
    {
        pair<ll,ll> a=q.top();q.pop();
        if(K>=-a.x&&v[a.y]==-1)
        {
            v[a.y]=-a.x;
            K+=a.x;
            cont++;
            for(auto i:cad[a.y])
            {
                q.push({a.x+-i.y,i.x});
            }
        }
    }
    return cont;
}

#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...