Submission #20323068
Source Code Expand
//http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_A&lang=ja
#include <bits/stdc++.h>
#define rep(i, N) for(int i = 0; i < (int)N; i++)
using namespace std;
typedef long long ll;
typedef pair<ll,ll> P;
typedef tuple<ll,ll,ll> T;
typedef vector<int> vi;
const ll INF = (1LL << 60); // > 10^9, int 2*INF
//ダイクストラ法
int main() {
ll n,m,x,y;
cin >> n >> m >> x >> y;
vector<vector<T>> g(n+1);
ll u, v, t, k;
rep(i, m) {
scanf("%lld%lld%lld%lld", &u, &v, &t, &k);
g[u].emplace_back(T(v, t, k)); //有向辺
g[v].emplace_back(T(u, t, k)); //有向辺
}
priority_queue<P, vector<P>, greater<P>> pq;
pq.push(P(0,x));
vector<ll> res(n+1, INF);
res[x] = 0;
vector<bool> check(n+1, false);
while (!pq.empty()) {
P tmp = pq.top(); pq.pop();
ll cv = tmp.second;
if(check[cv]) continue;
check[cv] = true;
rep(i, g[cv].size()) {
T ttt = g[cv][i];
ll nv = get<0>(ttt), tt = get<1>(ttt), tk = get<2>(ttt);
ll dtk = tk-res[cv]%tk;
if(tk == dtk) dtk = 0;
if(res[nv] > res[cv] + tt + dtk){
res[nv] = res[cv] + tt + dtk;
pq.push(P(res[nv], nv));
}
}
}
if(res[y] != INF) cout << res[y];
else cout << -1;
}
Submission Info
| Submission Time |
|
| Task |
E - Train |
| User |
samari06 |
| Language |
C++ (GCC 9.2.1) |
| Score |
500 |
| Code Size |
1408 Byte |
| Status |
AC |
| Exec Time |
84 ms |
| Memory |
13904 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:19:14: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
19 | scanf("%lld%lld%lld%lld", &u, &v, &t, &k);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
500 / 500 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All |
hand.txt, max_01.txt, random_01.txt, random_02.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_31.txt, random_32.txt, random_33.txt, random_34.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| Case Name |
Status |
Exec Time |
Memory |
| hand.txt |
AC |
8 ms |
3540 KiB |
| max_01.txt |
AC |
80 ms |
12860 KiB |
| random_01.txt |
AC |
70 ms |
12924 KiB |
| random_02.txt |
AC |
45 ms |
10384 KiB |
| random_05.txt |
AC |
38 ms |
7456 KiB |
| random_06.txt |
AC |
35 ms |
7616 KiB |
| random_07.txt |
AC |
45 ms |
10256 KiB |
| random_08.txt |
AC |
42 ms |
10180 KiB |
| random_11.txt |
AC |
34 ms |
7292 KiB |
| random_12.txt |
AC |
34 ms |
7460 KiB |
| random_13.txt |
AC |
35 ms |
7520 KiB |
| random_14.txt |
AC |
37 ms |
7972 KiB |
| random_15.txt |
AC |
43 ms |
9768 KiB |
| random_16.txt |
AC |
38 ms |
7444 KiB |
| random_17.txt |
AC |
45 ms |
9820 KiB |
| random_18.txt |
AC |
33 ms |
7428 KiB |
| random_21.txt |
AC |
84 ms |
13108 KiB |
| random_22.txt |
AC |
73 ms |
12988 KiB |
| random_23.txt |
AC |
71 ms |
13100 KiB |
| random_24.txt |
AC |
69 ms |
12928 KiB |
| random_31.txt |
AC |
83 ms |
13804 KiB |
| random_32.txt |
AC |
84 ms |
13904 KiB |
| random_33.txt |
AC |
80 ms |
13872 KiB |
| random_34.txt |
AC |
77 ms |
13748 KiB |
| sample_01.txt |
AC |
2 ms |
3704 KiB |
| sample_02.txt |
AC |
2 ms |
3672 KiB |
| sample_03.txt |
AC |
2 ms |
3604 KiB |
| sample_04.txt |
AC |
2 ms |
3712 KiB |