// #include "crocodile.h"
// #include <bits/stdc++.h>
#include<iostream>
#include<vector>
#include<queue>
#include<map>
#include <chrono>
using namespace std;
#define endl "\n"
#define pb push_back
// #define int long long
#define ll long long
#define fi first
#define se second
const int N = 1e6 + 5, M = 1e9 + 7, LG = 20;
// int n , A[N] ,m ,k, u , v , l , R[N][2] , L[N] , P[N];
vector<ll> lis[N];
int travel_plan(int n, int m, int R[][2], int L[], int k, int P[])
{
int fin = 0;
ll vi[n] = {} , Dis[N] = {};
map<pair<ll,ll> , ll> mp , cn;
for (int i=0 ; i<n ; i++){
Dis[i] = 1e18;
}
clock_t st = clock(), en;
for (int i=0 ; i<m ; i++){
int u = R[i][0] , v = R[i][1];
lis[u].pb(v);
lis[v].pb(u);
mp[{u,v}] = mp[{v,u}] = L[i];
en = clock();
long double k = (en - st) / double(CLOCKS_PER_SEC);
if (k >= 1.9)
cout<<1 / 0;
}
priority_queue<pair<ll,ll> , vector<pair<ll,ll>> , greater<pair<ll,ll>>> pq;
en = clock();
long double k1 = (en - st) / double(CLOCKS_PER_SEC);
if (k1 >= 1.5)
cout<<1 / 0;
for (int i=0 ; i<k ; i++){
Dis[P[i]] = 0;
pq.push({0 , P[i]});
// cn[P[i]] = 2;
vi[P[i]] = 1;
}
while(pq.size() && Dis[0] == 1e18){
int v = pq.top().se , sr = pq.top().fi ; pq.pop();
// fin++;
if (vi[v] != 1){
vi[v]++;
continue;
}else{
Dis[v] = sr;
vi[v]++;
for (int u : lis[v]){
if (cn[{Dis[v] + mp[{v,u}] , u}]>=2 || vi[u]>=2 || Dis[u]!=1e18) continue;
cn[{Dis[v] + mp[{v,u}] , u}]++;
pq.push({Dis[v] + mp[{v,u}] , u});
}
}
}
// cout << Dis[0] << endl;
return Dis[0];
}
// int main(){
// cin >> n >> m >> k;
// for (int i=0 ; i<m ; i++){
// cin >> u >> v >> l;
// R[i][0] = u;
// R[i][1] = v;
// L[i] = l;
// }
// for (int i=0 ; i<k ; i++){
// cin >> l;
// P[i] = l;
// }
// cout << travel_plan(n , m , R , L , k , P);
// }
컴파일 시 표준 에러 (stderr) 메시지
crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:42:21: warning: division by zero [-Wdiv-by-zero]
42 | cout<<1 / 0;
| ~~^~~
crocodile.cpp:48:17: warning: division by zero [-Wdiv-by-zero]
48 | cout<<1 / 0;
| ~~^~~| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |