QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#408434 | #8627. 归程 | Call_me_Eric# | 65 | 1253ms | 5020kb | C++14 | 2.6kb | 2024-05-10 11:48:30 | 2024-05-10 11:48:32 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
bool stmemory;
namespace Call_me_Eric{
inline int read(){
int x = 0, f = 1;char ch = getchar();
while(ch < '0' || ch > '9'){if(ch == '-') f = -1;ch = getchar();}
while(ch >= '0' && ch <= '9'){x = (x << 1) + (x << 3) + (ch ^ 48);ch = getchar();}
return x * f;
}
const int maxn = 2e3 + 10, maxm = 3e4 + 10, maxt = 30;
int n, m, S, T, k;
double f[maxn][maxt][2];
struct edge{
int v, w, a, b;
edge(int v = 0,int w = 0,int a = 0,int b = 0):v(v),w(w),a(a),b(b){}
};
vector<edge> edg[maxn];
double P[maxm];
int t[maxn], W[maxn];
double p[maxn];
double val[maxt], g[maxt], h[2][maxt];
long long sum[maxm];
void main(){
n = read(); m = read(); k = read(); S = read(); T = read();
int u, v, w, a, b;
for(int i = 1;i <= m;i++){
u = read(), v = read(), w = read(), a = read(), b = read();
edg[u].emplace_back(v, w, a, b); edg[v].emplace_back(u, w, a, b);
}
for(int i = 1;i <= k;i++){t[i] = read(); P[t[i]] = sum[t[i]] = W[i] = read();}
for(int i = maxm - 1;i + 1;i--)sum[i] += sum[i + 1];
int now = 0;
for(int i = 0;i < maxt;i++)f[T][i][0] = f[T][i][1] = 0;
for(int tim = maxm - 1;tim + 1;tim--){
now = (now + maxt - 1) % maxt;
for(int i = 1;i <= n;i++)f[i][now][0] = f[i][now][1] = 1e18;
f[T][now][0] = f[T][now][1] = 0;
for(int i = 1;i < maxt;i++){
val[i] = 1;g[i] = h[0][i] = h[1][i] = 0;
for(int j = 1;j <= i;j++){
if(P[tim + j]){
g[i] += val[i] * P[tim + j] / sum[tim + j];
h[0][i] += val[i] * P[tim + j] / sum[tim + j] * j;
h[1][i] += val[i] * P[tim + j] / sum[tim + j] * (i - j);
val[i] = val[i] * (1.0 - 1.0 * P[tim + j] / sum[tim + j]);
}
}
}
for(int i = 1;i <= n;i++)if(i != T){
for(edge e : edg[i]){
int v = e.v, w = e.w, a = e.a, b = e.b;
f[i][now][0] = min(f[i][now][0], val[w] * (f[v][(now + w) % maxt][0] + w * a) + g[w] * f[v][(now + w) % maxt][1] + h[0][w] * a + h[1][w] * b);
f[i][now][1] = min(f[i][now][1], w * b + f[v][(now + w) % maxt][1]);
}
}
}
printf("%.9lf\n",f[S][now][0]);
return;
}
};
bool edmemory;
signed main(){
auto stclock = clock();
Call_me_Eric::main();
auto edclock = clock();
cerr << (&stmemory - &edmemory) / 1024.0 / 1024.0 << " Mib cost.\n";
cerr << (edclock - stclock) * 1.0 / CLOCKS_PER_SEC << " Sec cost.\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 15
Accepted
Test #1:
score: 15
Accepted
time: 44ms
memory: 4244kb
input:
100 99 50 44 13 1 2 3 49482 98172 3 2 14 15325 20412 3 4 17 72195 82332 4 5 2 5759 58007 6 5 17 74543 88637 6 7 8 30091 53620 7 8 6 25345 52430 9 8 13 256 54988 10 9 9 8715 9170 10 11 7 16469 60748 11 12 2 88501 90578 12 13 20 32990 42921 13 14 7 10662 18700 14 15 17 5604 94646 16 15 4 30714 75974 1...
output:
13265304.093092350
result:
ok found '13265304.0930924', expected '13265304.0930924', error '0.0000000'
Test #2:
score: 15
Accepted
time: 49ms
memory: 4164kb
input:
100 99 50 61 92 1 2 8 56827 98803 2 3 3 36553 43540 4 3 20 34157 88454 5 4 7 49172 49325 5 6 16 27664 60990 6 7 16 49587 99569 8 7 8 3438 94065 9 8 3 51023 69196 10 9 10 20096 75491 11 10 2 10221 84744 11 12 15 77262 89241 12 13 10 61655 91263 14 13 18 31797 39217 14 15 19 21171 87992 16 15 18 24615...
output:
11800189.227879068
result:
ok found '11800189.2278791', expected '11800189.2278791', error '0.0000000'
Test #3:
score: 15
Accepted
time: 50ms
memory: 4316kb
input:
100 99 50 79 14 1 2 10 29697 45013 3 2 11 58180 63946 2 4 10 70417 75332 3 5 13 12564 42521 3 6 12 1014 94538 7 6 19 31519 37381 8 2 19 43129 47092 6 9 11 11937 93000 10 2 19 1440 52945 10 11 15 51842 96769 12 10 12 13413 68632 5 13 11 2726 43016 4 14 10 40248 47577 5 15 10 60481 77412 10 16 14 5828...
output:
8097168.129025204
result:
ok found '8097168.1290252', expected '8097168.1290252', error '0.0000000'
Test #4:
score: 15
Accepted
time: 47ms
memory: 4320kb
input:
100 99 50 29 68 2 1 17 66839 69114 3 1 12 62309 68062 4 1 13 62445 65101 5 1 18 8349 29514 6 5 17 5167 93696 7 3 17 15610 93975 8 6 19 12032 75118 7 9 10 15961 31054 4 10 17 40891 51887 11 2 17 18755 75848 12 5 13 13065 89120 13 5 14 48662 55669 14 8 18 9847 28102 2 15 18 76863 81427 16 8 14 32493 3...
output:
8400900.947254049
result:
ok found '8400900.9472540', expected '8400900.9472541', error '0.0000000'
Subtask #2:
score: 10
Accepted
Test #5:
score: 10
Accepted
time: 119ms
memory: 4220kb
input:
100 400 1 3 100 10 1 13 18223 35112 1 2 12 55368 55369 11 2 17 26761 33328 10 11 16 32129 40781 3 12 11 54283 82995 19 20 14 61623 64279 4 13 19 68053 68404 28 29 12 51572 76296 5 14 17 60900 80188 37 38 19 4559 88722 6 15 18 70161 98792 46 66 18 31418 46063 7 16 12 59448 73370 74 75 16 61790 91015 ...
output:
565023.000000000
result:
ok found '565023.0000000', expected '565023.0000000', error '0.0000000'
Test #6:
score: 10
Accepted
time: 122ms
memory: 4160kb
input:
100 400 1 43 61 2 1 4 49747 72455 3 2 9 88598 94622 3 4 20 55578 68329 4 5 3 76244 80337 6 5 17 45788 51679 7 6 7 21521 59847 7 8 13 57753 65729 9 8 10 78127 95442 9 10 17 8181 50146 11 10 8 14043 35566 12 11 20 5050 25253 13 12 15 61543 96300 14 13 2 32429 54948 14 15 12 93689 99997 16 15 3 17968 4...
output:
295670.000000000
result:
ok found '295670.0000000', expected '295670.0000000', error '0.0000000'
Subtask #3:
score: 15
Accepted
Dependency #2:
100%
Accepted
Test #7:
score: 15
Accepted
time: 1189ms
memory: 4956kb
input:
1000 4000 1 851 829 32 1 18 10334 59149 2 1 17 42334 90414 2 33 10 24226 37837 33 32 12 13963 44622 3 34 17 12554 59801 64 63 11 33339 55475 35 4 15 26593 88751 94 95 10 31806 40083 5 36 12 1159 18345 126 125 11 29893 91393 37 6 15 9013 56562 157 156 12 5742 28609 38 7 18 29456 34325 187 188 19 3358...
output:
3040262.000000000
result:
ok found '3040262.0000000', expected '3040262.0000000', error '0.0000000'
Test #8:
score: 15
Accepted
time: 1162ms
memory: 4856kb
input:
800 4000 1 768 507 29 1 15 33191 46010 1 2 13 4678 63191 30 2 13 40409 90658 29 30 15 51433 69090 31 3 10 21936 96868 58 57 14 29518 80829 4 32 13 67117 79907 85 86 15 24145 98188 33 5 18 802 79736 113 114 20 20455 72496 34 6 15 49934 86035 141 142 13 55169 95675 7 35 20 49304 75881 170 169 11 1656 ...
output:
1252192.000000000
result:
ok found '1252192.0000000', expected '1252192.0000000', error '0.0000000'
Test #9:
score: 15
Accepted
time: 340ms
memory: 4740kb
input:
1000 999 1 270 794 2 1 20 26017 100000 3 2 20 67920 100000 4 3 20 18660 100000 4 5 20 90882 100000 5 6 20 81270 100000 7 6 20 37164 100000 7 8 20 12522 100000 9 8 20 26819 100000 10 9 20 51100 100000 10 11 20 18243 100000 12 11 20 84082 100000 12 13 20 88885 100000 14 13 20 61329 100000 14 15 20 883...
output:
825513521.000000000
result:
ok found '825513521.0000000', expected '825513521.0000000', error '0.0000000'
Test #10:
score: 15
Accepted
time: 1114ms
memory: 4928kb
input:
999 4000 1 995 28 2 1 7 38082 64577 3 2 20 3836 76209 4 3 11 55617 99139 4 5 2 41943 67901 6 5 17 6533 91608 7 6 5 20242 37822 7 8 12 12101 33506 8 9 9 48606 51674 9 10 7 10350 21298 10 11 16 73130 78801 12 11 7 13735 70377 12 13 6 5219 49858 14 13 20 13661 97174 14 15 3 59599 97552 16 15 7 15381 32...
output:
15361348.000000000
result:
ok found '15361348.0000000', expected '15361348.0000000', error '0.0000000'
Test #11:
score: 15
Accepted
time: 1230ms
memory: 4844kb
input:
1000 3999 1 724 942 1 2 10 13276 90759 3 1 15 36756 37246 4 1 12 19810 91764 1 5 11 19547 94540 6 1 18 30494 38340 1 7 10 32085 33315 8 1 18 36147 38234 9 8 13 36111 38705 10 1 14 19505 97749 1 11 17 14211 92528 12 1 18 38035 39210 1 13 19 31296 36665 14 7 10 33315 38669 1 15 18 18143 96329 16 1 20 ...
output:
2048971.000000000
result:
ok found '2048971.0000000', expected '2048971.0000000', error '0.0000000'
Test #12:
score: 15
Accepted
time: 1247ms
memory: 4860kb
input:
1000 4000 1 39 718 2 949 16 16489 54653 3 876 16 51625 88422 518 4 19 29590 34707 703 5 12 47195 56129 6 389 17 25655 96606 161 7 10 55738 89149 8 274 18 27821 39449 230 9 14 44427 83590 606 10 18 52356 80814 11 930 16 80890 87440 548 12 11 47547 84315 13 283 14 7495 68176 14 271 10 31361 95309 15 8...
output:
807183.000000000
result:
ok found '807183.0000000', expected '807183.0000000', error '0.0000000'
Test #13:
score: 15
Accepted
time: 1222ms
memory: 4852kb
input:
1000 3999 1 505 274 1 2 18 8 90951 3 2 11 1 91691 4 3 6 6 93975 4 5 14 7 93742 6 5 17 10 98257 6 7 15 1 96571 8 7 3 4 99475 8 9 13 7 98715 10 9 14 1 93865 11 10 6 2 96162 12 11 9 3 96466 13 12 10 9 95393 13 14 11 4 95104 15 14 8 9 95141 15 16 6 5 92038 16 17 17 9 92480 17 18 17 4 96760 18 19 16 4 90...
output:
13559.000000000
result:
ok found '13559.0000000', expected '13559.0000000', error '0.0000000'
Test #14:
score: 15
Accepted
time: 1224ms
memory: 4836kb
input:
999 3999 1 30 760 1 2 8 7 97039 2 3 12 8 98879 4 3 4 4 90191 5 4 12 9 90428 5 6 16 1 98652 6 7 4 5 92196 7 8 2 3 92217 9 8 20 7 94675 10 9 4 4 95650 10 11 17 7 96221 11 12 1 1 91186 12 13 14 4 98705 14 13 4 1 97597 14 15 1 4 92300 15 16 16 8 90727 17 16 1 7 90217 17 18 7 6 92725 18 19 7 4 98033 20 1...
output:
172715.000000000
result:
ok found '172715.0000000', expected '172715.0000000', error '0.0000000'
Test #15:
score: 15
Accepted
time: 1253ms
memory: 4960kb
input:
1000 4000 1 317 271 1 2 9 5 93052 3 2 8 6 96771 3 4 3 8 96160 5 4 13 6 95453 5 6 14 6 94557 6 7 9 9 90953 8 7 17 8 92903 9 8 6 3 94104 9 10 12 8 96688 11 10 15 9 98608 11 12 13 5 93208 13 12 16 9 96348 14 13 3 6 98686 15 14 5 1 99177 15 16 2 10 96703 17 16 14 2 91541 18 17 14 1 92412 18 19 11 10 930...
output:
401591.000000000
result:
ok found '401591.0000000', expected '401591.0000000', error '0.0000000'
Subtask #4:
score: 25
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #16:
score: 25
Accepted
time: 118ms
memory: 4216kb
input:
100 400 20 100 6 1 10 10 37861 50357 2 1 19 7830 74673 2 11 15 33326 69819 10 11 12 39344 85527 12 3 20 15784 55754 20 19 11 9872 21978 13 4 13 22401 43523 29 28 17 84903 88765 5 14 10 22745 42111 38 37 16 15008 26758 6 15 13 5270 49372 65 66 17 55158 78378 16 7 20 12236 70841 74 75 12 92834 99928 8...
output:
830382.640776699
result:
ok found '830382.6407767', expected '830382.6407767', error '0.0000000'
Test #17:
score: 25
Accepted
time: 118ms
memory: 4396kb
input:
100 400 50 10 45 1 10 17 29451 97470 1 2 10 63349 72452 2 11 14 33309 76111 10 11 12 30976 88523 12 3 16 14864 48989 20 19 20 16901 38920 13 4 12 7712 71353 28 29 19 54313 55358 14 5 20 20325 25058 38 37 20 2537 70940 15 6 12 36876 83633 66 65 16 7022 21311 16 7 15 43978 77802 74 75 20 5297 80929 8 ...
output:
1870147.831082073
result:
ok found '1870147.8310821', expected '1870147.8310821', error '0.0000000'
Test #18:
score: 25
Accepted
time: 126ms
memory: 4352kb
input:
100 400 50 45 36 2 1 17 2583 5228 3 2 2 9015 24523 3 4 6 40155 76911 5 4 19 65855 77215 5 6 18 2468 80202 6 7 12 33458 72325 8 7 11 33603 95807 9 8 3 29210 53612 10 9 4 31460 54746 10 11 11 43776 49774 12 11 4 85145 90080 12 13 8 46736 80445 14 13 14 54280 87183 15 14 20 5400 10347 15 16 4 28993 705...
output:
173526.432223491
result:
ok found '173526.4322235', expected '173526.4322235', error '0.0000000'
Test #19:
score: 25
Accepted
time: 119ms
memory: 4352kb
input:
99 400 50 46 64 2 1 19 13089 92563 3 1 10 16869 92046 4 1 19 12704 91015 5 1 16 19003 95870 6 1 13 15774 91467 7 1 16 37876 39730 1 8 20 13681 92507 9 3 19 10619 95941 8 10 12 18843 94556 11 1 15 17935 91522 12 2 16 14554 91577 13 1 16 18816 94796 12 14 15 14831 90319 1 15 19 14791 97793 16 1 11 178...
output:
1421519.770244821
result:
ok found '1421519.7702448', expected '1421519.7702448', error '0.0000000'
Test #20:
score: 25
Accepted
time: 120ms
memory: 4248kb
input:
100 399 49 2 35 77 2 11 39406 61475 3 62 14 86827 91338 84 4 10 52113 70666 5 59 17 13757 38998 24 6 16 75253 88768 84 7 14 5253 60755 1 8 17 15153 44899 9 98 17 14513 79392 1 10 19 31791 97272 1 11 13 49000 60720 53 12 16 72684 79365 78 13 14 62381 63614 14 20 19 45859 70469 9 15 19 10656 59249 16 ...
output:
86081.194629219
result:
ok found '86081.1946292', expected '86081.1946292', error '0.0000000'
Test #21:
score: 25
Accepted
time: 122ms
memory: 4272kb
input:
100 399 49 12 41 2 1 13 3 94258 3 2 17 3 93831 3 4 4 1 99696 4 5 4 9 98307 5 6 19 4 92875 7 6 6 4 90021 8 7 19 3 98986 8 9 7 1 99168 10 9 7 9 98140 10 11 4 6 90202 12 11 3 8 92084 12 13 3 3 90802 13 14 17 9 93781 14 15 15 7 98251 15 16 3 6 99408 17 16 3 6 95934 17 18 4 1 91316 19 18 1 9 93281 19 20 ...
output:
137960.713312934
result:
ok found '137960.7133129', expected '137960.7133129', error '0.0000000'
Test #22:
score: 25
Accepted
time: 121ms
memory: 4304kb
input:
100 400 49 67 42 2 1 9 10 92500 3 2 7 8 94006 3 4 14 6 99372 4 5 9 8 92282 5 6 1 6 93767 6 7 9 8 91829 8 7 7 1 92338 8 9 17 10 90987 10 9 10 9 97993 11 10 1 4 95291 12 11 1 3 99324 13 12 20 6 98346 13 14 2 4 92811 15 14 14 6 90258 16 15 8 6 99898 16 17 11 1 92890 17 18 14 3 90598 19 18 4 4 92228 20 ...
output:
82675.845413120
result:
ok found '82675.8454131', expected '82675.8454131', error '0.0000000'
Test #23:
score: 25
Accepted
time: 121ms
memory: 4276kb
input:
100 399 50 86 21 2 1 14 2 95596 2 3 5 3 90038 3 4 2 5 91466 5 4 10 2 94957 6 5 3 7 96519 7 6 2 3 92328 7 8 10 7 90223 8 9 13 9 91236 9 10 17 1 92850 10 11 6 1 91936 11 12 17 2 95236 13 12 16 5 96486 13 14 9 3 96082 15 14 15 10 98857 15 16 1 7 99137 17 16 3 10 98794 18 17 3 10 95034 18 19 4 4 94929 2...
output:
52864.430805536
result:
ok found '52864.4308055', expected '52864.4308055', error '0.0000000'
Test #24:
score: 25
Accepted
time: 124ms
memory: 4288kb
input:
100 400 50 64 76 2 1 4 8 95153 3 2 2 4 93276 4 3 6 4 93115 5 4 8 3 92039 5 6 14 8 92164 7 6 13 2 92054 7 8 9 3 90420 8 9 10 10 97740 9 10 3 5 98529 11 10 13 9 90557 12 11 20 10 97608 12 13 12 5 95010 14 13 14 2 99355 15 14 12 7 92489 16 15 7 3 99690 16 17 17 7 98336 18 17 17 3 94557 18 19 14 1 94166...
output:
19515.000000000
result:
ok found '19515.0000000', expected '19515.0000000', error '0.0000000'
Subtask #5:
score: 0
Wrong Answer
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
100%
Accepted
Test #25:
score: 35
Accepted
time: 1244ms
memory: 4828kb
input:
1000 4000 1000 616 536 1 2 20 5156 45083 3 2 20 15778 26174 3 4 20 65638 78088 5 4 20 5197 41363 5 6 20 28519 78439 7 6 20 3970 89814 8 7 20 3011 72095 8 9 20 58295 79730 9 10 20 33028 93193 11 10 20 56025 71133 12 11 20 7234 93851 13 12 20 23692 55866 14 13 20 3764 22036 14 15 20 22688 38980 16 15 ...
output:
112644.721273278
result:
ok found '112644.7212733', expected '112644.7212733', error '0.0000000'
Test #26:
score: 35
Accepted
time: 1237ms
memory: 4956kb
input:
1000 4000 1000 488 465 1 2 20 73927 97108 2 3 20 18066 74540 4 3 20 30432 43484 4 5 20 49119 98022 5 6 20 53368 97534 6 7 20 31440 38457 8 7 20 21128 34050 9 8 20 36163 52697 9 10 20 26617 29222 11 10 20 3847 47582 12 11 20 27116 70352 13 12 20 45068 89753 14 13 20 13535 75688 15 14 20 5387 15613 15...
output:
533524.035842431
result:
ok found '533524.0358424', expected '533524.0358424', error '0.0000000'
Test #27:
score: 35
Accepted
time: 1193ms
memory: 4928kb
input:
1000 4000 30 513 364 1 32 14 2781 13058 2 1 10 51720 76345 33 2 17 61784 84790 33 32 11 64852 65942 3 34 12 30013 76147 64 63 15 23404 57417 35 4 14 38950 65657 94 95 18 8834 86906 5 36 13 25142 32080 125 126 15 36346 92933 37 6 18 31921 59645 157 156 12 54991 92805 7 38 12 52473 71379 187 188 14 19...
output:
1607511.642867282
result:
ok found '1607511.6428673', expected '1607511.6428673', error '0.0000000'
Test #28:
score: 35
Accepted
time: 1194ms
memory: 5020kb
input:
1000 4000 1000 894 326 32 1 18 3705 40631 1 2 20 33198 50317 33 2 20 34941 36451 33 32 20 40673 73019 34 3 15 63359 79209 64 63 18 6687 43815 35 4 12 51904 67587 94 95 12 5492 54783 5 36 17 24659 79138 126 125 16 59638 82799 37 6 14 15622 91642 156 157 13 52737 88967 38 7 12 12449 75426 188 187 14 2...
output:
794162.807613827
result:
ok found '794162.8076138', expected '794162.8076138', error '0.0000000'
Test #29:
score: 35
Accepted
time: 339ms
memory: 4680kb
input:
1000 999 1000 498 72 1 2 20 19450 100000 2 3 20 38499 100000 4 3 20 79106 100000 5 4 20 85709 100000 6 5 20 91923 100000 6 7 20 53214 100000 7 8 20 92200 100000 9 8 20 94138 100000 10 9 20 93307 100000 11 10 20 41622 100000 12 11 20 93475 100000 13 12 20 39771 100000 13 14 20 21285 100000 14 15 20 9...
output:
608553250.778531909
result:
ok found '608553250.7785319', expected '608553250.7785321', error '0.0000000'
Test #30:
score: 0
Wrong Answer
time: 1132ms
memory: 4912kb
input:
1000 4000 1000 833 28 1 2 15 13360 87150 2 3 14 46441 62487 3 4 14 17171 96137 5 4 11 34818 45047 5 6 8 50528 94542 7 6 14 66731 82882 8 7 16 10304 27070 8 9 1 57101 72657 9 10 18 29859 39310 11 10 6 4100 65767 11 12 11 36148 96806 12 13 16 1214 15652 14 13 10 58466 86638 14 15 12 31200 94679 16 15 ...
output:
9392848.417090660
result:
wrong answer 1st numbers differ - expected: '12940885.0809919', found: '9392848.4170907', error = '0.2741726'