Task: | Flights |
Sender: | infosec |
Submission time: | 2015-10-07 20:37:42 +0300 |
Language: | C++ |
Status: | READY |
Result: | TIME LIMIT EXCEEDED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.91 s | details |
#2 | ACCEPTED | 0.16 s | details |
#3 | ACCEPTED | 1.65 s | details |
#4 | TIME LIMIT EXCEEDED | -- | details |
#5 | ACCEPTED | 1.38 s | details |
#6 | ACCEPTED | 1.35 s | details |
#7 | ACCEPTED | 0.90 s | details |
#8 | ACCEPTED | 0.30 s | details |
#9 | ACCEPTED | 1.10 s | details |
#10 | ACCEPTED | 0.32 s | details |
#11 | ACCEPTED | 0.95 s | details |
#12 | ACCEPTED | 0.31 s | details |
#13 | ACCEPTED | 0.74 s | details |
#14 | ACCEPTED | 0.78 s | details |
#15 | ACCEPTED | 0.66 s | details |
#16 | ACCEPTED | 0.19 s | details |
#17 | ACCEPTED | 0.94 s | details |
#18 | ACCEPTED | 0.40 s | details |
#19 | ACCEPTED | 0.71 s | details |
#20 | ACCEPTED | 0.85 s | details |
#21 | ACCEPTED | 0.93 s | details |
#22 | ACCEPTED | 0.29 s | details |
#23 | ACCEPTED | 0.84 s | details |
#24 | ACCEPTED | 0.32 s | details |
#25 | ACCEPTED | 1.93 s | details |
#26 | ACCEPTED | 0.34 s | details |
#27 | ACCEPTED | 1.44 s | details |
#28 | ACCEPTED | 0.64 s | details |
#29 | ACCEPTED | 0.76 s | details |
#30 | ACCEPTED | 0.73 s | details |
Code
#include <stdio.h>#include <string.h>#include <iostream>#include <fstream>#include <sstream>#include <queue>#include <algorithm>#include <vector>#include <set>#include <cstdlib>#include <stack>#include <iomanip>using namespace std;#define all(x) (x).begin(),x.end()#define ii pair<int, int>#define pb push_back#define mp make_pair#define fi first#define se second#define ll long long#define MAXN 100001const ll INF = (ll)1e17;int n, m;vector<int> eList[MAXN], erList[MAXN];vector<ll> cList[MAXN], crList[MAXN], dList[MAXN];void dijkstra(int start, vector<int> *eList, vector<ll> *cList, vector<ll> &d) {priority_queue<ii, vector<ii>, greater<ii> > q;d[start] = 0;q.push(ii(0, start));while (!q.empty()) {ii top = q.top();q.pop();int i = top.se;if (top.fi > d[i]) {continue;}for (int k = 0; k < (int)eList[i].size(); k++) {int j = eList[i][k];int c = cList[i][k];if (d[j] > d[i] + c) {d[j] = d[i] + c;q.push(ii(d[j], j));}}}}int main() {cin >> n >> m;int u, v;ll p, x;for (int i = 0; i < m; i++) {cin >> u >> v >> p >> x;u--; v--;eList[u].pb(v);cList[u].pb(p);dList[u].pb(x);erList[v].pb(u);crList[v].pb(p);}vector<ll> d(n, INF);dijkstra(0, eList, cList, d);vector<ll> dr(n, INF);dijkstra(n-1, erList, crList, dr);// for (int i = 0; i < n; i++) {// cout << d[i] << " ";// }// cout << endl;// for (int i = 0; i < n; i++) {// cout << dr[i] << " ";// }double res = (double) INF;for (int i = 0; i < n; i++) {for (int k = 0; k < (int) eList[i].size(); k++) {int j = eList[i][k];double cost = d[i] + cList[i][k] + dr[j];double mul = dList[i][k]*0.01;res = min(res, cost*mul);// }}}cout << setprecision(17) << res << endl;return 0;}
Test details
Test 1
Verdict: ACCEPTED
input |
---|
100000 200000
83440 84424 708810295 87 28725 29724 552336091 3 76873 79637 768853492 82 73157 75801 208773467 95 ... |
correct output |
---|
176693844.03 |
user output |
---|
176693844.03 |
Test 2
Verdict: ACCEPTED
input |
---|
4158 76239
2106 2107 214369404 9 2615 2616 599912001 65 2736 2737 106730531 5 3122 3123 989740491 72 ... |
correct output |
---|
2980020476.98 |
user output |
---|
2980020476.98 |
Test 3
Verdict: ACCEPTED
input |
---|
100000 200000
61333 61375 934791657 27 57230 57459 363488259 89 94862 95081 574564520 83 29350 29358 205892730 47 ... |
correct output |
---|
2063342137.46 |
user output |
---|
2063342137.46 |
Test 4
Verdict: TIME LIMIT EXCEEDED
input |
---|
55959 184823
48935 48939 66931740 65 55879 55910 682673953 74 23663 23698 990216382 44 42486 42505 972883623 27 ... |
correct output |
---|
4779099645.25 |
user output |
---|
(empty) |
Test 5
Verdict: ACCEPTED
input |
---|
100000 200000
79146 79332 484554310 35 52757 52824 784839804 4 63169 63197 671959358 77 38542 38830 850962666 26 ... |
correct output |
---|
1273046189.67 |
user output |
---|
1273046189.6700001 |
Test 6
Verdict: ACCEPTED
input |
---|
15536 166330
14900 14902 921455515 89 9329 9332 365143744 14 13868 13871 328203159 78 7822 7824 990983220 54 ... |
correct output |
---|
6582993331.15 |
user output |
---|
6582993331.1500006 |
Test 7
Verdict: ACCEPTED
input |
---|
100000 200000
89124 91195 199647214 2 58704 58990 98401141 40 56447 57157 120977342 98 65418 67693 530932650 5 ... |
correct output |
---|
234347497.33 |
user output |
---|
234347497.33000001 |
Test 8
Verdict: ACCEPTED
input |
---|
36932 93986
13379 23634 481615407 80 11370 22629 626275451 41 6043 11090 696835009 43 24878 31930 227873837 15 ... |
correct output |
---|
41484417.04 |
user output |
---|
41484417.039999999 |
Test 9
Verdict: ACCEPTED
input |
---|
100000 200000
81515 81926 207016347 20 93172 93603 517064812 89 27081 27270 942564502 93 65710 66430 161755057 23 ... |
correct output |
---|
663852899.14 |
user output |
---|
663852899.13999999 |
Test 10
Verdict: ACCEPTED
input |
---|
4286 186778
1008 1009 298863636 25 3735 3736 691053215 32 2583 2584 141648549 63 1362 1363 132628814 52 ... |
correct output |
---|
1265736627.37 |
user output |
---|
1265736627.3700001 |
Test 11
Verdict: ACCEPTED
input |
---|
100000 200000
39274 41223 667509717 39 17668 18392 794560732 87 84624 85119 258645192 82 39687 40083 222180448 9 ... |
correct output |
---|
204801135.31 |
user output |
---|
204801135.31 |
Test 12
Verdict: ACCEPTED
input |
---|
156 196340
115 120 885358263 74 69 70 733840613 66 47 51 194519228 36 143 144 997357319 98 ... |
correct output |
---|
234518.53 |
user output |
---|
234518.53 |
Test 13
Verdict: ACCEPTED
input |
---|
100000 200000
61800 98622 689416865 94 93496 96677 968883683 26 30065 73258 40047565 96 11930 20180 777906649 69 ... |
correct output |
---|
46500624.37 |
user output |
---|
46500624.369999997 |
Test 14
Verdict: ACCEPTED
input |
---|
58203 168742
20492 20819 512664683 45 35979 36073 406549228 72 22670 22884 958846926 50 3181 3366 812137674 64 ... |
correct output |
---|
192471624.40 |
user output |
---|
192471624.40000001 |
Test 15
Verdict: ACCEPTED
input |
---|
100000 200000
53792 75073 320931265 77 27716 53886 29596596 82 9946 19018 891154582 91 414 66597 2097895 61 ... |
correct output |
---|
52804878.55 |
user output |
---|
52804878.550000004 |
Test 16
Verdict: ACCEPTED
input |
---|
29790 51057
6914 7959 559807642 87 4772 6061 707689095 28 12502 14138 473393199 55 16425 16862 224827374 16 ... |
correct output |
---|
96426328.10 |
user output |
---|
96426328.100000009 |
Test 17
Verdict: ACCEPTED
input |
---|
100000 200000
49413 51160 127588771 32 34728 34779 643912757 70 14609 15317 638237969 84 72278 72351 726808755 98 ... |
correct output |
---|
231729444.89 |
user output |
---|
231729444.89000002 |
Test 18
Verdict: ACCEPTED
input |
---|
16757 154256
1874 1903 580982686 96 14236 14609 288982257 24 11085 11417 670713941 5 15130 15467 715203324 50 ... |
correct output |
---|
47919755.92 |
user output |
---|
47919755.920000002 |
Test 19
Verdict: ACCEPTED
input |
---|
100000 200000
81960 97123 353071177 60 77895 83362 530318855 51 88788 96462 763556172 10 71069 89886 859574737 51 ... |
correct output |
---|
46970338.23 |
user output |
---|
46970338.230000004 |
Test 20
Verdict: ACCEPTED
input |
---|
36582 167647
16230 16359 131627754 74 29007 29070 968621666 86 29854 30031 159358481 31 12010 12340 159218511 83 ... |
correct output |
---|
245097346.41 |
user output |
---|
245097346.41 |
Test 21
Verdict: ACCEPTED
input |
---|
100000 200000
24087 24412 947358065 23 43122 45521 695825811 46 41701 43009 282526216 22 54644 55241 663868618 22 ... |
correct output |
---|
182454553.20 |
user output |
---|
182454553.20000002 |
Test 22
Verdict: ACCEPTED
input |
---|
19505 82130
10844 11159 72114176 12 2598 2890 247996564 65 16334 16419 152514701 1 6449 6630 826660090 3 ... |
correct output |
---|
90750315.08 |
user output |
---|
90750315.079999998 |
Test 23
Verdict: ACCEPTED
input |
---|
100000 200000
18237 23377 495435695 99 64625 68562 165710300 17 92456 92551 809687286 63 69882 70839 463068629 94 ... |
correct output |
---|
107349070.08 |
user output |
---|
107349070.08 |
Test 24
Verdict: ACCEPTED
input |
---|
24334 122357
20514 20821 536592664 40 3254 4063 271689487 32 16094 17795 378738726 16 19192 21939 488115831 75 ... |
correct output |
---|
21531136.12 |
user output |
---|
21531136.120000001 |
Test 25
Verdict: ACCEPTED
input |
---|
100000 200000
52201 52304 516199490 3 44594 44790 845780568 84 99131 99307 50245171 79 32481 32509 152614952 8 ... |
correct output |
---|
2641004228.19 |
user output |
---|
2641004228.1900001 |
Test 26
Verdict: ACCEPTED
input |
---|
26099 89426
8222 8817 421562264 91 21504 21939 928132818 10 13949 14159 774448630 76 19315 19751 984491893 32 ... |
correct output |
---|
133812727.09 |
user output |
---|
133812727.09 |
Test 27
Verdict: ACCEPTED
input |
---|
100000 200000
58145 58370 637242643 19 24491 24661 262541209 9 62570 62672 413680288 49 71890 72126 53363827 82 ... |
correct output |
---|
1253750128.48 |
user output |
---|
1253750128.48 |
Test 28
Verdict: ACCEPTED
input |
---|
35877 163659
5428 5668 961665808 94 11515 11541 884764784 34 7511 7652 62813799 11 10211 10835 442538859 55 ... |
correct output |
---|
114218011.47 |
user output |
---|
114218011.47 |
Test 29
Verdict: ACCEPTED
input |
---|
100000 200000
32689 38720 604086442 75 17653 27003 200982141 20 5642 19524 176519335 85 44331 52918 623420216 30 ... |
correct output |
---|
42422753.58 |
user output |
---|
42422753.579999998 |
Test 30
Verdict: ACCEPTED
input |
---|
71343 146160
24454 24767 601993050 84 22024 22056 179622315 81 51552 52291 321098922 17 50645 50972 583641105 77 ... |
correct output |
---|
407548924.88 |
user output |
---|
407548924.88 |