Submission #6660392
Source Code Expand
#include "bits/stdc++.h"
#define in std::cin
#define out std::cout
#define rep(i,N) for(LL i=0;i<N;++i)
typedef long long int LL;
typedef std::pair<LL, LL> P;
struct edge { LL to, cost, inter; };
const LL inf = 1123456789012345678;
std::vector<LL>dist;
std::vector<std::vector<edge>>G;
void dijkstra(LL s)
{
std::priority_queue<P, std::vector<P>, std::greater<P>>que;
std::fill(dist.begin(), dist.end(), inf);
dist[s] = 0;
que.push(P(0, s));
while (!que.empty())
{
P p = que.top(); que.pop();
LL v = p.second, t = p.first;
if (dist[v] < p.first) continue;
rep(i, G[v].size())
{
edge e = G[v][i];
LL add = (t + e.inter - 1) / e.inter * e.inter - t;
if (dist[e.to] > dist[v] + e.cost + add)
{
dist[e.to] = dist[v] + e.cost + add;
que.push(P(dist[e.to], e.to));
}
}
}
}
int main()
{
LL N, M, K;
in >> N >> M >> K;
std::vector<LL>t(N), a(M), b(M), c(M), d(M);
rep(i, N - 2) in >> t[i + 1];
rep(i, M) in >> a[i] >> b[i] >> c[i] >> d[i];
G.resize(N + 1); dist.resize(N + 1);
rep(i, M)
{
G[a[i]].push_back({ b[i],c[i] + t[b[i] - 1],d[i] });
G[b[i]].push_back({ a[i],c[i] + t[a[i] - 1],d[i] });
}
dijkstra(1);
out << (dist[N] > K ? -1 : dist[N]) << std::endl;
}
Submission Info
| Submission Time |
|
| Task |
H - don't be late |
| User |
babcs2035 |
| Language |
C++14 (GCC 5.4.1) |
| Score |
400 |
| Code Size |
1270 Byte |
| Status |
AC |
| Exec Time |
465 ms |
| Memory |
28544 KiB |
Judge Result
| Set Name |
Sample |
Subtask1 |
| Score / Max Score |
0 / 0 |
400 / 400 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_1.txt, sample_2.txt, sample_3.txt |
| Subtask1 |
sample_1.txt, sample_2.txt, sample_3.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt |
| Case Name |
Status |
Exec Time |
Memory |
| case_01.txt |
AC |
103 ms |
7808 KiB |
| case_02.txt |
AC |
60 ms |
4864 KiB |
| case_03.txt |
AC |
149 ms |
10880 KiB |
| case_04.txt |
AC |
137 ms |
9728 KiB |
| case_05.txt |
AC |
61 ms |
4608 KiB |
| case_06.txt |
AC |
112 ms |
8064 KiB |
| case_07.txt |
AC |
16 ms |
1536 KiB |
| case_08.txt |
AC |
17 ms |
1408 KiB |
| case_09.txt |
AC |
164 ms |
11392 KiB |
| case_10.txt |
AC |
160 ms |
11260 KiB |
| case_11.txt |
AC |
33 ms |
2560 KiB |
| case_12.txt |
AC |
140 ms |
10112 KiB |
| case_13.txt |
AC |
35 ms |
3456 KiB |
| case_14.txt |
AC |
28 ms |
2560 KiB |
| case_15.txt |
AC |
217 ms |
14464 KiB |
| case_16.txt |
AC |
167 ms |
11900 KiB |
| case_17.txt |
AC |
185 ms |
13184 KiB |
| case_18.txt |
AC |
201 ms |
13696 KiB |
| case_19.txt |
AC |
208 ms |
13696 KiB |
| case_20.txt |
AC |
196 ms |
13440 KiB |
| case_21.txt |
AC |
465 ms |
28540 KiB |
| case_22.txt |
AC |
379 ms |
24060 KiB |
| case_23.txt |
AC |
414 ms |
26108 KiB |
| case_24.txt |
AC |
341 ms |
22012 KiB |
| case_25.txt |
AC |
464 ms |
28544 KiB |
| case_26.txt |
AC |
417 ms |
27904 KiB |
| sample_1.txt |
AC |
1 ms |
256 KiB |
| sample_2.txt |
AC |
1 ms |
256 KiB |
| sample_3.txt |
AC |
1 ms |
256 KiB |