This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int>>a[200001];
void dfs(int x, long long int d, long long int dist[], bool visited[])
{
    visited[x]=1;
    dist[x]=d;
    for(int i=0; i<a[x].size(); i++)
    {
        if(!visited[a[x][i].first])
        {
            dfs(a[x][i].first, d+a[x][i].second, dist, visited);
        }
    }
}
int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    int n=N, x=X, y=Y;
    long long k=K;
    for(int i=0; i<n-1; i++)
    {
        a[U[i]].push_back({V[i], W[i]});
        a[V[i]].push_back({U[i], W[i]});
    }
    bool visited[n];
    memset(visited, 0, sizeof(visited));
    long long int dist1[n], dist2[n];
    dfs(x, 0, dist1, visited);
    memset(visited, 0, sizeof(visited));
    dfs(y, 0, dist2, visited);
    long long int dist[2*n];
    int j=0, j1=n;
    for(int i=0; i<n; i++)
    {
        dist[j]=dist1[i];
        dist[j1]=dist2[i];
        j++; j1++;
    }
    sort(dist, dist+2*n);
    int sol=0;
    long long kk=0;
    for(int i=0; i<n; i++)
    {
        kk+=dist[i];
        if(kk<=k)
            sol++;
        else
            break;
    }
    return sol;
}
Compilation message (stderr)
closing.cpp: In function 'void dfs(int, long long int, long long int*, bool*)':
closing.cpp:10:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i=0; i<a[x].size(); i++)
      |                  ~^~~~~~~~~~~~| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |