//#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define ii pair<int,int>
#define ll long long
int n,a,b,k;
vector<vector<ii> >edge;
int Sub1()
{
queue<int>q;
vector<vector<ll> >dist(2,vector<ll>(n+1,-1));
vector<int>source(2);
source[0]=a;
source[1]=b;
for(int i=0;i<=1;i++)
{
queue<int>q;
q.push(source[i]);
dist[i][source[i]]=0;
while(!q.empty())
{
int x=q.front();
q.pop();
for(ii need:edge[x])
{
int node=need.x;
int value=need.y;
if(dist[i][node]==-1)
{
dist[i][node]=dist[i][x]+value;
q.push(node);
}
}
}
}
vector<ll>que;
for(int i=0;i<=n-1;i++)
{
que.push_back(dist[0][i]);
que.push_back(dist[1][i]);
}
sort(que.begin(),que.end());
ll res=k;
int ans=0;
for(int value:que)
{
if(res<value)break;
res-=value;
ans++;
}
return ans;
}
int max_score(int N,int X,int Y,long long K,vector<int>U,vector<int>V,vector<int>W)
{
n=N;
a=X;
b=Y;
k=K;
edge.resize(n);
for(int i=0;i<N-1;i++)
{
int x=U[i];
int y=V[i];
int value=W[i];
edge[x].push_back({y,value});
edge[y].push_back({x,value});
}
return Sub1();
}
/*int main()
{
int n,x,y,k;
vector<int>U;
vector<int>V;
vector<int>W;
cin>>n>>x>>y>>k;
for(int i=1;i<=n-1;i++)
{
int x;
cin>>x;
U.push_back(x);
}
for(int i=1;i<=n-1;i++)
{
int y;
cin>>y;
V.push_back(y);
}
for(int i=1;i<=n-1;i++)
{
int value;
cin>>value;
W.push_back(value);
}
cout<<max_score(n,x,y,k,U,V,W);
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
108 ms |
29116 KB |
1st lines differ - on the 1st token, expected: '451', found: '0' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
344 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |