#include "crocodile.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pii pair<int,int>
#define pll pair<ll,ll>
#define fi first
#define se second
const int maxN=1e5+5;
const int inf=1e9+10;
struct duongdi
{
int u;
ll w;
bool operator < (const duongdi &o)const
{
return w>o.w;
}
};
pii d[maxN+1];
vector<duongdi> adj[maxN+1];
priority_queue<duongdi> pq;
int travel_plan(int N,int M,int R[][2],int L[],int K,int P[])
{
for(int i=0;i<M;i++)
{
adj[R[i][0]].push_back({R[i][1],L[i]});
adj[R[i][1]].push_back({R[i][0],L[i]});
}
for(int i=0;i<N;i++)
{
d[i]={inf,inf};
}
for(int i=0;i<K;i++)
{
pq.push({P[i],0});
d[P[i]]={0,0};
}
while(!pq.empty())
{
duongdi tmp=pq.top();
pq.pop();
int u=tmp.u;
ll w=tmp.w;
//cout<<u<<" "<<w<<'\n';
if(d[u].fi<w)
{
continue;
}
for(auto i:adj[u])
{
int v=i.u;
//cout<<1<<" "<<v<<" ";
if(d[v].fi>d[u].fi+i.w)
{
d[v].fi=d[u].fi+i.w;
if(d[v].se>d[u].fi+i.w)
{
swap(d[v].se,d[v].fi);
}
if(d[v].fi<INT_MAX)
{
pq.push({v,d[v].fi});
}
}
//cout<<d[v].fi<<'\n';
}
}
return d[0].fi;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
6748 KB |
Output is correct |
2 |
Correct |
1 ms |
6748 KB |
Output is correct |
3 |
Correct |
1 ms |
6748 KB |
Output is correct |
4 |
Correct |
1 ms |
6748 KB |
Output is correct |
5 |
Correct |
1 ms |
6748 KB |
Output is correct |
6 |
Correct |
1 ms |
6748 KB |
Output is correct |
7 |
Correct |
1 ms |
6748 KB |
Output is correct |
8 |
Correct |
1 ms |
6748 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
6748 KB |
Output is correct |
2 |
Correct |
1 ms |
6748 KB |
Output is correct |
3 |
Correct |
1 ms |
6748 KB |
Output is correct |
4 |
Correct |
1 ms |
6748 KB |
Output is correct |
5 |
Correct |
1 ms |
6748 KB |
Output is correct |
6 |
Correct |
1 ms |
6748 KB |
Output is correct |
7 |
Correct |
1 ms |
6748 KB |
Output is correct |
8 |
Correct |
1 ms |
6748 KB |
Output is correct |
9 |
Correct |
2 ms |
7004 KB |
Output is correct |
10 |
Correct |
1 ms |
6748 KB |
Output is correct |
11 |
Correct |
1 ms |
6748 KB |
Output is correct |
12 |
Correct |
2 ms |
7260 KB |
Output is correct |
13 |
Correct |
2 ms |
7260 KB |
Output is correct |
14 |
Correct |
1 ms |
6748 KB |
Output is correct |
15 |
Correct |
1 ms |
6748 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
6748 KB |
Output is correct |
2 |
Correct |
1 ms |
6748 KB |
Output is correct |
3 |
Correct |
1 ms |
6748 KB |
Output is correct |
4 |
Correct |
1 ms |
6748 KB |
Output is correct |
5 |
Correct |
1 ms |
6748 KB |
Output is correct |
6 |
Correct |
1 ms |
6748 KB |
Output is correct |
7 |
Correct |
1 ms |
6748 KB |
Output is correct |
8 |
Correct |
1 ms |
6748 KB |
Output is correct |
9 |
Correct |
2 ms |
7004 KB |
Output is correct |
10 |
Correct |
1 ms |
6748 KB |
Output is correct |
11 |
Correct |
1 ms |
6748 KB |
Output is correct |
12 |
Correct |
2 ms |
7260 KB |
Output is correct |
13 |
Correct |
2 ms |
7260 KB |
Output is correct |
14 |
Correct |
1 ms |
6748 KB |
Output is correct |
15 |
Correct |
1 ms |
6748 KB |
Output is correct |
16 |
Correct |
211 ms |
73180 KB |
Output is correct |
17 |
Correct |
46 ms |
18632 KB |
Output is correct |
18 |
Correct |
52 ms |
20940 KB |
Output is correct |
19 |
Correct |
266 ms |
80576 KB |
Output is correct |
20 |
Correct |
141 ms |
59728 KB |
Output is correct |
21 |
Correct |
20 ms |
11480 KB |
Output is correct |
22 |
Incorrect |
161 ms |
55792 KB |
Output isn't correct |
23 |
Halted |
0 ms |
0 KB |
- |