QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#689542#6606. The Boomsday Projectbright_mlWA 905ms606232kbC++201.8kb2024-10-30 17:39:062024-10-30 17:39:06

Judging History

你现在查看的是最新测评结果

  • [2024-10-30 17:39:06]
  • 评测
  • 测评结果:WA
  • 用时:905ms
  • 内存:606232kb
  • [2024-10-30 17:39:06]
  • 提交

answer

//
// Created by 35395 on 2024/10/30.
//
#include<bits/stdc++.h>

using namespace std;
using i64 = long long;
const int N = 510;
const int M = 100010;
array<int, 3> a[N];
pair<int, int> d[M];
#define PII pair<int,int>
#define fi first
#define se second
int b[3 * M];
int nxt[3 * M][N];//第i个位置用第j种边可以到达哪里
i64 dp[3 * M];
int du[3 * M];

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m, cost;
    cin >> n >> m >> cost;
    for (int i = 1; i <= n; i++) {
        cin >> a[i][0] >> a[i][1] >> a[i][2];
    }
    for (int i = 1; i <= m; i++) {
        cin >> d[i].fi >> d[i].se;
    }
    sort(a + 1, a + n + 1, [&](auto x, auto y) {
        return x[2] * y[1] * x[0] < y[2] * x[1] * y[0];
    });
    sort(d + 1, d + 1 + m);
    int idx = 0;
    for (int i = 1; i <= m; i++) {
        while (d[i].se) {
            d[i].se--;
            b[++idx] = d[i].fi;
        }
    }
    for (int i = 1; i <= min(350, n); i++) {
        for (int j = 1, r = -1; j <= idx; j++) {
            while (r != idx && (r + 1 - j + 1 <= a[i][1] && b[r + 1] - b[j] + 1 <= a[i][0]))r++;
            nxt[j][i] = r + 1;
            du[r + 1]++;
        }
    }
    idx++;
    for (int i = 2; i <= idx; i++) {
        du[i]++;
    }
    for (int i = 1; i < idx; i++) {
        nxt[i][0] = i + 1;
    }
    for (int i = 0; i <= idx; i++) {
        dp[i] = 1e18;
    }
    dp[1] = 0;
    queue<int> q;
    a[0][2] = cost;
    q.push(1);
    while (q.size()) {
        auto t = q.front();
        q.pop();
        for (int i = 0; i <= min(350, n); i++) {
            int j = nxt[t][i];
            int w = a[i][2];
            du[j]--;
            if (du[j] == 0)q.push(j);
            dp[j] = min(dp[j], dp[t] + w);
        }
    }
    cout << dp[idx] << endl;
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 7728kb

input:

2 1 10
1 3 12
1 2 9
1 10

output:

42

result:

ok 1 number(s): "42"

Test #2:

score: 0
Accepted
time: 1ms
memory: 7720kb

input:

2 4 10
1 3 12
1 2 9
1 3
2 3
3 3
4 1

output:

45

result:

ok 1 number(s): "45"

Test #3:

score: 0
Accepted
time: 887ms
memory: 584168kb

input:

500 100 1000
95 20 20892
73 627 55354
52 747 1404314
19 676 597007
65 814 1569851
91 397 691575
81 4 4575
97 382 624404
21 197 201850
67 799 643576
27 895 1510533
3 800 552439
49 954 1149851
70 892 676406
82 882 1348956
1 318 324094
43 238 439111
94 397 471003
16 119 130686
1 637 77731
79 292 35234
...

output:

450790

result:

ok 1 number(s): "450790"

Test #4:

score: 0
Accepted
time: 905ms
memory: 606232kb

input:

500 100 1000
8 910 1405086
65 931 697221
73 534 1051699
74 13 7497
64 631 991592
79 481 511568
92 892 477132
91 588 842013
21 389 750794
19 955 1333270
85 889 1334457
46 295 505372
83 486 449366
67 67 119659
82 446 408487
25 736 319997
31 889 23280
1 41 74813
93 928 1189573
88 468 455471
7 10 18865
...

output:

3276270

result:

ok 1 number(s): "3276270"

Test #5:

score: 0
Accepted
time: 816ms
memory: 554344kb

input:

500 100 1000
35 122 153490
71 121 27207
73 967 409546
88 325 182835
37 602 533155
61 546 114146
70 359 251186
64 429 591088
63 445 428802
81 819 408704
49 364 244867
64 937 1422956
98 505 713891
1 454 61697
91 673 116038
89 463 123737
67 724 1061372
31 1 1838
73 127 173419
72 122 8068
55 928 65539
3...

output:

762564

result:

ok 1 number(s): "762564"

Test #6:

score: 0
Accepted
time: 892ms
memory: 601340kb

input:

500 100 1000
77 590 825100
67 901 1633566
29 703 886708
86 223 168970
6 676 1162365
46 669 1308904
73 96 125961
37 529 774376
79 741 516927
95 835 602321
25 208 384673
16 20 12510
41 226 164928
68 836 1412302
52 689 418717
40 481 789905
10 838 220638
35 846 885451
54 736 1470524
13 490 224433
12 354...

output:

300840

result:

ok 1 number(s): "300840"

Test #7:

score: 0
Accepted
time: 818ms
memory: 553496kb

input:

500 100 1000
39 154 45298
34 357 85100
46 557 748764
24 896 665708
97 28 1885
42 668 1223574
53 614 669616
28 648 1145794
28 649 1208449
93 689 1227367
56 772 163614
54 468 462959
28 400 721934
25 391 208246
55 388 473486
67 106 55488
63 10 18506
6 113 191992
43 100 165666
29 952 1200973
79 519 5596...

output:

1147818

result:

ok 1 number(s): "1147818"

Test #8:

score: 0
Accepted
time: 899ms
memory: 585316kb

input:

500 100 1000
25 155 54027
94 392 88410
71 600 1051186
31 391 104487
28 851 1539952
37 30 20168
26 722 164500
79 802 967771
68 481 152325
53 46 19203
91 445 398966
98 418 250634
96 387 128328
3 439 679797
13 201 81420
7 10 2504
75 139 213047
19 289 499368
1 100 44418
67 834 737897
87 235 57104
76 943...

output:

42900

result:

ok 1 number(s): "42900"

Test #9:

score: -100
Wrong Answer
time: 756ms
memory: 510184kb

input:

500 100 1000
51 42 16628
43 190 172609
19 71 111541
5 307 90084
24 370 464785
40 728 4358
70 289 140870
12 834 1379849
1 832 380970
57 788 14539
99 217 116555
22 293 75003
64 508 504262
76 757 745132
82 508 111516
48 447 728589
94 91 128698
34 689 724690
55 206 140536
19 6 11110
54 148 284655
82 577...

output:

1507868

result:

wrong answer 1st numbers differ - expected: '441300', found: '1507868'