QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#108112 | #3563. Treatment Project | bashkort# | 5 | 57ms | 3920kb | C++20 | 1.4kb | 2023-05-23 16:39:14 | 2024-05-31 13:41:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
struct Segment {
int t, l, r, w;
};
constexpr ll inf = 3e18;
template<typename T, typename O>
bool ckmin(T &a, const O &b) { return (b < a) ? a = b, 1 : 0; }
template<typename T, typename O>
bool ckmax(T &a, const O &b) { return (b > a) ? a = b, 1 : 0; }
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<Segment> s(m);
for (auto &[t, l, r, w] : s) {
cin >> t >> l >> r >> w;
}
sort(s.begin(), s.end(), [&](const auto &x, const auto &y) {
return array{x.r - x.t, y.l} < array{y.r - y.t, y.l};
});
vector<ll> dp(m, inf);
bool updated = true;
while (updated) {
updated = false;
for (int i = 0; i < m; ++i) {
if (s[i].l == 1) {
updated |= ckmin(dp[i], s[i].w);
continue;
}
for (int j = 0; j < m; ++j) {
if (s[j].r - s[i].l + 1 >= abs(s[i].t - s[j].t)) {
updated |= ckmin(dp[i], dp[j] + s[i].w);
}
}
}
}
ll ans = inf;
for (int i = 0; i < m; ++i) {
if (s[i].r == n) {
ans = min(ans, dp[i]);
}
}
if (ans == inf) {
cout << "-1\n";
} else {
cout << ans << '\n';
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
input:
1000000000 100000 1 811370001 811380000 1000000000 1 413190001 413200000 1000000000 1 462480001 462490000 1000000000 1 384860001 384870000 1000000000 1 543220001 543230000 1000000000 1 766300001 766310000 1000000000 1 348890001 348900000 1000000000 1 996350001 996360000 1000000000 1 302700001 302710...
output:
result:
Subtask #2:
score: 5
Accepted
Test #19:
score: 5
Accepted
time: 1ms
memory: 3876kb
input:
1 1 1000000000 1 1 1000000000
output:
1000000000
result:
ok single line: '1000000000'
Test #20:
score: 5
Accepted
time: 0ms
memory: 3572kb
input:
1000000000 16 6 2 2 1 4 999999997 999999999 4 2 999999997 1000000000 2 3 1 4 3 3 999999997 1000000000 3 5 999999998 999999999 3 6 999999999 999999999 1 2 1 4 2 6 3 999999998 1 999999987 1 1000000000 10 999999986 1 1000000000 10 999999985 1 1000000000 10 4 2 4 4 5 2 3 3 1 999999997 1000000000 1 1 1 4 1
output:
9
result:
ok single line: '9'
Test #21:
score: 5
Accepted
time: 0ms
memory: 3832kb
input:
1000000000 16 5 999999998 999999999 2 999999985 1 1000000000 8 5 2 3 3 2 1 4 2 4 2 4 3 6 3 999999998 1 1 999999997 1000000000 1 6 999999999 999999999 2 6 2 2 2 2 999999997 1000000000 2 3 999999997 1000000000 3 4 999999997 999999999 4 999999987 1 1000000000 10 1 1 4 1 999999986 1 1000000000 10 3 1 4 3
output:
8
result:
ok single line: '8'
Test #22:
score: 5
Accepted
time: 1ms
memory: 3632kb
input:
1000000000 16 200000001 3 100000003 1000000000 1 1 100000001 1000000000 400000001 5 100000005 1000000000 1 900000000 1000000000 1000000000 500000001 899999995 999999995 1000000000 500000001 6 100000006 1000000000 600000001 899999994 999999994 1000000000 700000001 500000001 999999993 1000000000 40000...
output:
16000000000
result:
ok single line: '16000000000'
Test #23:
score: 5
Accepted
time: 0ms
memory: 3680kb
input:
1000000000 16 100000001 2 100000001 1000000000 500000001 6 100000006 1000000000 300000001 899999997 999999997 1000000000 700000001 8 500000000 1000000000 400000001 899999996 999999996 1000000000 1 1 100000001 1000000000 100000001 899999999 999999999 1000000000 200000001 3 100000003 1000000000 600000...
output:
-1
result:
ok single line: '-1'
Test #24:
score: 5
Accepted
time: 0ms
memory: 3672kb
input:
1000000000 16 308520246 1 500000000 359755556 295655247 487135002 987135001 271593000 314734892 968055357 1000000000 312883746 410091097 1 500000000 101547816 395764591 485673495 985673494 629609944 392316197 982225101 1000000000 401923300 978742397 1 500000000 868693198 952345206 473602810 97360280...
output:
944232302
result:
ok single line: '944232302'
Test #25:
score: 5
Accepted
time: 1ms
memory: 3804kb
input:
1000000000 16 672706728 1 200000000 497504405 685823406 186883323 386883322 774982231 674014449 375074366 575074365 773000447 654139023 555198940 755198939 790219287 656808645 752529318 952529317 476720223 644457233 940177906 1000000000 664282982 959379929 1 200000000 786969801 978273081 181106849 3...
output:
3404859829
result:
ok single line: '3404859829'
Test #26:
score: 5
Accepted
time: 1ms
memory: 3580kb
input:
1000000000 16 540954071 1 10000000 710172197 540536129 9582059 19582058 536145072 539536499 18582429 28582428 814753471 539185649 28231579 38231578 620882859 538350203 37396133 47396132 386658616 539249992 46496344 56496343 870617207 539643763 56102573 66102572 904970863 539573301 66032111 76032110 ...
output:
-1
result:
ok single line: '-1'
Test #27:
score: 5
Accepted
time: 0ms
memory: 3644kb
input:
1000000000 16 491674089 1 500000000 336648490 539994271 451679820 951679819 469043391 517647080 929332630 1000000000 292857884 281124238 1 500000000 712418479 328708776 452415464 952415463 296084141 356807854 924316387 1000000000 648894560 660900926 1 500000000 384729282 657610483 496709559 99670955...
output:
1886981327
result:
ok single line: '1886981327'
Test #28:
score: 5
Accepted
time: 0ms
memory: 3636kb
input:
1000000000 16 838698042 1 200000000 534015959 858199116 180498928 380498927 504484211 839907744 362207557 562207556 898913833 847053449 555061853 755061852 910907433 860497726 741617577 941617576 171206653 867040700 935074604 1000000000 676192995 208351725 1 200000000 506499124 228113409 180238318 3...
output:
-1
result:
ok single line: '-1'
Test #29:
score: 5
Accepted
time: 0ms
memory: 3676kb
input:
1000000000 16 205846077 1 10000000 873895887 204858740 9012665 19012664 147782763 205674932 18196474 28196473 776792335 205398591 27920134 37920133 18876276 205275591 37797135 47797134 113374737 206002463 47070264 57070263 216570418 205456894 56524696 66524695 508488400 205480940 66500651 76500650 8...
output:
-1
result:
ok single line: '-1'
Test #30:
score: 5
Accepted
time: 0ms
memory: 3536kb
input:
1000000000 16 521719332 635760132 934417526 529743702 1305373 525299245 1000000000 461248301 101171661 237013303 513442486 519226146 461851512 227481783 939390202 642026488 835321835 380826656 1000000000 864581393 774758954 598049287 1000000000 885982602 476039441 1 226851442 609871787 583465229 392...
output:
1071400261
result:
ok single line: '1071400261'
Test #31:
score: 5
Accepted
time: 1ms
memory: 3800kb
input:
1000000000 16 206783888 1 794031651 473137665 654757441 181608545 482154540 814079812 199299059 172003379 589586500 977531496 445754685 647415391 1000000000 724703815 30495945 650569357 1000000000 700408250 370373056 15814055 569148871 97147596 592280811 734763422 1000000000 99025581 523660734 98269...
output:
926766012
result:
ok single line: '926766012'
Test #32:
score: 5
Accepted
time: 0ms
memory: 3636kb
input:
1000000000 16 53129883 43438614 576626916 420027795 595715370 217546351 904088926 117669374 501698138 394506898 1000000000 501348919 16794543 467166832 1000000000 430252715 66170783 44326969 740935026 307666284 100432574 105218928 612739989 964426597 66832107 59260547 587707946 695056263 71803431 40...
output:
1084276058
result:
ok single line: '1084276058'
Test #33:
score: 5
Accepted
time: 0ms
memory: 3872kb
input:
20 16 11 11 20 614196799 18 11 20 106915074 9 20 20 806710174 5 19 20 334176271 12 11 16 63935383 8 1 3 493767973 13 17 20 937825697 16 11 20 599156261 4 6 20 162982558 17 4 20 156235818 12 8 14 967709279 19 11 20 880182565 6 13 18 842507131 19 17 19 30861075 17 1 10 659432307 9 5 15 689432411
output:
815668125
result:
ok single line: '815668125'
Test #34:
score: 5
Accepted
time: 0ms
memory: 3752kb
input:
20 16 14 1 5 36860000 17 3 8 100853922 6 14 16 960259663 20 2 9 15251465 8 17 18 411813150 16 18 20 957718939 17 1 8 346305175 2 20 20 759532534 3 16 20 708800301 12 19 20 571134941 5 4 11 532379718 6 16 20 124294312 20 12 20 89050063 16 13 19 890357065 20 13 20 289577457 15 20 20 126485192
output:
-1
result:
ok single line: '-1'
Test #35:
score: 5
Accepted
time: 0ms
memory: 3644kb
input:
20 16 5 17 20 883046038 2 13 15 646298453 1 16 19 673045363 5 8 9 429038258 5 4 7 675052934 3 9 11 556330641 4 7 11 709314017 2 18 20 666670231 1 3 3 408856853 2 2 6 619870732 2 12 14 948839865 2 10 13 131394079 2 2 2 70988341 3 1 3 17741436 5 14 14 901591370 2 17 19 223748049
output:
-1
result:
ok single line: '-1'
Test #36:
score: 5
Accepted
time: 1ms
memory: 3560kb
input:
20 16 8 17 19 6 11 1 12 19 20 15 20 18 16 13 20 13 12 6 16 9 14 2 19 3 5 10 13 16 7 18 18 20 5 11 20 11 11 7 20 11 13 18 20 15 9 7 16 3 13 1 4 11 5 12 20 2 11 13 16 20 11 14 19 7
output:
19
result:
ok single line: '19'
Test #37:
score: 5
Accepted
time: 0ms
memory: 3588kb
input:
20 16 4 8 12 1 5 3 3 3 3 1 3 2 5 1 3 2 5 20 20 2 5 8 8 2 4 7 11 2 1 8 9 4 1 8 10 5 5 20 20 3 4 12 16 4 5 6 7 3 5 8 8 3 5 15 18 3 1 19 20 5 1 2 2 1
output:
-1
result:
ok single line: '-1'
Subtask #3:
score: 0
Time Limit Exceeded
Dependency #2:
100%
Accepted
Test #38:
score: 30
Accepted
time: 57ms
memory: 3700kb
input:
1000000000 5000 2157 2 343 342 684 999998751 1000000000 684 1022 999998751 1000000000 1022 991 999998751 1000000000 991 2291 999999792 999999999 208 47 1 1250 47 402 999998751 1000000000 402 1688 999999189 999999999 811 987 1 1250 987 1606 999999107 999999999 893 2304 999999805 999999999 195 685 999...
output:
2499
result:
ok single line: '2499'
Test #39:
score: 30
Accepted
time: 57ms
memory: 3920kb
input:
1000000000 5000 195 1 1250 195 564 1 1250 564 129 999998751 1000000000 129 1682 999999183 999999999 817 2204 2 296 295 1035 999998751 1000000000 1035 847 999998751 1000000000 847 1476 999998977 999999999 1023 1811 999999312 999999999 688 2472 2 28 27 1319 999998820 999999999 1180 61 1 1250 61 78 999...
output:
2498
result:
ok single line: '2498'
Test #40:
score: 0
Time Limit Exceeded
input:
1000000000 5000 757999622 10002618 12002617 1000000000 295999853 4001147 6001146 1000000000 379999811 12003185 14003184 1000000000 103999949 2000949 4000948 1000000000 565999718 18004710 20004709 1000000000 197999902 10002898 12002897 1000000000 335999833 169 2000168 1000000000 355999823 12003173 14...
output:
result:
Subtask #4:
score: 0
Skipped
Dependency #1:
0%