#include <bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int maxn = 2005;
int U[maxn], V[maxn], T[maxn], C[maxn];
int N, M;
vector<int> adj[maxn];
ll dist[maxn];
int last[maxn];
signed main(void)
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifdef LOCAL
freopen("A.INP", "r", stdin);
freopen("A.OUT", "w", stdout);
#endif // LOCAL
cin >> N >> M;
for(int i = 1; i <= M; ++i){
cin >> U[i] >> V[i] >> T[i] >> C[i];
adj[U[i]].eb(i); adj[V[i]].eb(i);
}
fill_n(&dist[0], maxn, 1e18);
fill_n(&last[0], maxn, 1e9);
priority_queue<pair<ii, int>, vector<pair<ii, int>>, greater<pair<ii, int>>> pq;
pq.push(mp(mp(0, 0), 1));
dist[1] = 0; last[1] = 0;
while(pq.size()){
auto now = pq.top(); pq.pop();
int t = now.fi.fi, c = now.fi.se, u = now.se;
if(last[u] < c) continue;
last[u] = c;
dist[u] = min(dist[u], 1ll * t * c);
for(int id : adj[u]){
int v = U[id] + V[id] - u;
pq.push(mp(mp(t + T[id], c + C[id]), v));
}
}
for(int i = 2; i <= N; ++i) cout << dist[i] << '\n' ;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Output isn't correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
512 KB |
Output isn't correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
7 ms |
512 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
34 ms |
1404 KB |
Output is correct |
2 |
Correct |
58 ms |
1408 KB |
Output is correct |
3 |
Correct |
70 ms |
1408 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
199 ms |
2156 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
69 ms |
1080 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
265 ms |
1080 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
221 ms |
2160 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |