QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#96647#5036. 卑鄙的下毒人Watware10 222ms17380kbC++142.2kb2023-04-14 23:19:212023-04-14 23:19:25

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-04-14 23:19:25]
  • 评测
  • 测评结果:10
  • 用时:222ms
  • 内存:17380kb
  • [2023-04-14 23:19:21]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
const int N = 301000, M = 100100;
int head[N], cur[N], to[M], nxt[M], n, m, s, t, tot = 2, u, v, q[N * 10];
i64 val[M], w[M], a, b, dis[M];
bool in[N], vis[N];
inline void add(int u, int v, i64 a, i64 b) {
    // printf("add %d -> %d : cap = %d, cost = %d\n", u, v, a, b);
    to[tot] = v, nxt[tot] = head[u], val[tot] = a, w[tot] = b, head[u] = tot++;
    to[tot] = u, nxt[tot] = head[v], val[tot] = 0, w[tot] = -b, head[v] = tot++;
}
inline bool spfa() {
    memset(dis, 0x3f, sizeof(dis)), memcpy(cur, head, sizeof(head));
    int l = 0, r = -1;
    dis[s] = 0, in[s] = 1, q[++r] = s;
    while (l <= r)
        for (int o = q[l++], i = ((in[o] = 0), head[o]); i; i = nxt[i])
            if (val[i] && dis[to[i]] > dis[o] + w[i]) {
                dis[to[i]] = dis[o] + w[i];
                if (!in[to[i]]) in[to[i]] = 1, q[++r] = to[i];
            }
    // printf("spfa result :\n");
    // for (int i = 1; i <= n + 2; i++) printf("%d : %lld\n", i, dis[i]);
    return dis[t] != dis[0];
}
i64 cost, flow;
i64 dfs(int n, i64 fl) {
    i64 lf = fl;
    vis[n] = 1;
    if (n == t) return vis[n] = 0, fl;
    for (int &i = cur[n]; i; i = nxt[i])
        if (!vis[to[i]] && dis[to[i]] == dis[n] + w[i] && val[i]) {
            i64 t = dfs(to[i], min(val[i], lf));
            val[i] -= t, val[i ^ 1] += t, cost += t * w[i], lf -= t;
            if (!lf) return vis[n] = 0, fl;
        }
    vis[n] = 0;
    return fl - lf;
}
void dinic() {
    while (spfa()) flow += dfs(s, LONG_LONG_MAX); //printf("%d\n", flow);
}
int k;
int main() {
    // scanf("%d%d%d%d", &n, &m, &s, &t);
    // for (int i = 1; i <= m; i++) scanf("%d%d%lld%lld", &u, &v, &a, &b), add(u, v, a, b);
    // dinic();
    // printf("%lld %lld\n", flow, cost);
    scanf("%d%d%d", &n, &m, &k);
    s = n + 1, t = n + 2;
    add(s, 1, 100, 0), add(n, t, k, 0); 
    for (int i = 2; i <= n; i++) add(i - 1, i, 100, 0);
    for (int i = 1; i <= m; i++) {
        int l, r, a;
        scanf("%d%d%d", &l, &r, &a);
        l--, l = l ? l : s;
        // printf("!!! %d %d\n", l, r);
        add(l, r, 1, -a);
    }
    dinic();
    printf("%lld\n", -cost);
    // printf("%lld\n", flow);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 5ms
memory: 9212kb

input:

7 20 5
3 4 1
1 1 1
2 7 1
3 7 1
2 2 1
3 7 1
4 6 1
7 7 1
5 5 1
1 6 1
3 4 1
1 4 1
3 6 1
3 3 1
2 5 1
1 1 1
5 5 1
1 1 1
6 7 1
2 2 1

output:

15

result:

ok "15"

Test #2:

score: 0
Accepted
time: 2ms
memory: 9844kb

input:

12 20 5
5 5 1
8 12 1
4 10 1
10 12 1
2 11 1
3 6 1
6 12 1
1 10 1
4 9 1
7 10 1
4 12 1
2 10 1
1 12 1
4 5 1
4 9 1
7 9 1
3 9 1
10 11 1
6 12 1
4 10 1

output:

10

result:

ok "10"

Test #3:

score: 0
Accepted
time: 0ms
memory: 11216kb

input:

7 20 5
2 7 1
6 6 1
3 6 1
3 3 1
2 5 1
6 6 1
2 6 1
2 7 1
4 6 1
3 3 1
2 2 1
5 5 1
1 4 1
1 5 1
2 5 1
4 4 1
2 7 1
3 4 1
2 4 1
1 2 1

output:

12

result:

ok "12"

Test #4:

score: 0
Accepted
time: 4ms
memory: 9272kb

input:

11 20 5
1 8 1
1 10 1
10 11 1
7 11 1
3 10 1
3 8 1
1 8 1
4 5 1
4 5 1
1 7 1
3 4 1
3 7 1
5 6 1
2 6 1
4 9 1
4 10 1
4 4 1
1 11 1
7 10 1
4 8 1

output:

9

result:

ok "9"

Test #5:

score: 0
Accepted
time: 2ms
memory: 9764kb

input:

8 20 5
6 7 1
4 5 1
1 7 1
3 7 1
1 6 1
3 8 1
1 1 1
2 2 1
1 7 1
3 4 1
6 6 1
1 7 1
1 1 1
1 3 1
4 4 1
8 8 1
3 4 1
1 6 1
6 6 1
2 8 1

output:

13

result:

ok "13"

Test #6:

score: 0
Accepted
time: 4ms
memory: 9288kb

input:

20 20 1
3 14 1
1 17 1
3 18 1
14 20 1
15 17 1
9 17 1
10 12 1
6 20 1
11 16 1
3 17 1
1 2 1
6 19 1
17 18 1
4 18 1
4 9 1
3 7 1
4 13 1
17 19 1
7 12 1
10 14 1

output:

4

result:

ok "4"

Test #7:

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

input:

20 20 2
10 20 1
8 9 1
1 8 1
12 17 1
3 20 1
7 18 1
6 10 1
3 5 1
5 9 1
3 6 1
1 3 1
2 6 1
9 11 1
2 11 1
3 15 1
1 7 1
5 7 1
6 11 1
15 18 1
8 10 1

output:

7

result:

ok "7"

Test #8:

score: 0
Accepted
time: 2ms
memory: 9160kb

input:

20 20 3
3 16 1
6 17 1
8 17 1
11 19 1
5 7 1
3 13 1
16 19 1
6 8 1
3 14 1
7 10 1
6 13 1
1 5 1
4 20 1
16 16 1
8 17 1
7 19 1
12 16 1
5 14 1
10 18 1
10 16 1

output:

7

result:

ok "7"

Test #9:

score: 0
Accepted
time: 2ms
memory: 9356kb

input:

20 20 4
8 19 1
15 19 1
10 20 1
5 11 1
1 2 1
12 15 1
5 7 1
10 14 1
3 6 1
13 19 1
5 10 1
6 7 1
7 7 1
1 19 1
9 16 1
3 16 1
1 2 1
4 20 1
15 16 1
7 11 1

output:

12

result:

ok "12"

Test #10:

score: 0
Accepted
time: 0ms
memory: 11080kb

input:

20 20 5
10 18 1
5 9 1
1 17 1
12 19 1
12 13 1
11 17 1
7 10 1
2 10 1
8 13 1
4 6 1
12 13 1
13 13 1
14 20 1
1 9 1
19 19 1
5 8 1
16 16 1
1 6 1
5 16 1
2 4 1

output:

15

result:

ok "15"

Subtask #2:

score: 0
Time Limit Exceeded

Test #11:

score: 20
Accepted
time: 50ms
memory: 11436kb

input:

1794 5000 5
419 430 46802829
1071 1140 167141363
1154 1554 366136993
735 1265 152210166
387 1104 646459531
1073 1637 525871859
1340 1729 44303243
1221 1574 588158235
91 478 922877048
1117 1268 460323230
315 1103 378106915
272 1071 784282054
1147 1469 220209516
281 375 514585737
677 1031 231082599
55...

output:

136716114929

result:

ok "136716114929"

Test #12:

score: 0
Accepted
time: 61ms
memory: 11004kb

input:

2230 5000 5
953 1373 769239749
1047 1661 462345610
303 2066 576160818
120 397 923490418
534 2140 430136299
1643 1673 257239112
161 881 468971965
500 1294 252402949
832 920 980969457
441 836 27310687
975 1362 566048899
1490 2033 444708762
14 1801 675115178
1054 2171 58928071
1372 1372 276209072
743 1...

output:

135024690658

result:

ok "135024690658"

Test #13:

score: 0
Accepted
time: 204ms
memory: 13276kb

input:

2491 4792 5
1244 1262 126130420
502 503 181548261
1087 1095 228548479
704 705 954511272
476 489 702154010
235 237 326120418
1281 1285 234352273
731 743 265589174
14 16 560099243
371 374 933553321
1760 1808 742608005
232 242 538815461
371 372 460405162
492 525 233200462
317 338 464746636
1810 1852 43...

output:

1017220528897

result:

ok "1017220528897"

Test #14:

score: 0
Accepted
time: 205ms
memory: 15540kb

input:

2499 4371 5
893 917 592732340
1752 1754 882828848
1549 1551 740947884
2338 2350 91426286
427 439 189133007
2166 2167 379789806
2247 2349 691763246
1584 1584 838300744
1664 1664 798939343
1701 1701 536171532
1284 1306 672406760
1903 1908 305480185
2428 2488 710578258
815 815 587350817
2196 2215 48525...

output:

1378597403736

result:

ok "1378597403736"

Test #15:

score: 0
Accepted
time: 216ms
memory: 15428kb

input:

2491 4792 5
2363 2365 462329955
724 846 358380916
2139 2177 784807072
1863 1867 7498275
2424 2427 260845642
2400 2404 76208421
1076 1115 489417670
1932 2003 183144091
336 342 693831668
639 671 325948926
571 573 215228365
558 587 842203082
2235 2241 720770164
1950 1977 184886521
566 645 580352976
212...

output:

1035330458129

result:

ok "1035330458129"

Test #16:

score: 0
Accepted
time: 179ms
memory: 17380kb

input:

2498 4162 5
1803 1916 257427142
1501 1501 279416289
1556 1559 249091733
2072 2072 159226156
1750 1757 499029842
461 462 801581319
355 360 308840186
2064 2073 875625340
1417 1417 174954462
2235 2382 103769364
1315 1344 34735682
264 264 445922659
2194 2197 335668538
1269 1270 259126342
660 660 3314207...

output:

1430601233900

result:

ok "1430601233900"

Test #17:

score: 0
Accepted
time: 209ms
memory: 14280kb

input:

2495 4787 5
2178 2179 635024727
698 699 897733963
1019 1019 292677389
591 624 655927180
1876 1880 434643653
1871 1871 995668224
1949 1960 10942328
1273 1285 433038661
704 931 18394432
558 567 85632358
2265 2274 882709007
1254 1257 7918753
955 1144 833586192
1331 1338 346476172
159 161 40693633
240 2...

output:

1032157982124

result:

ok "1032157982124"

Test #18:

score: 0
Accepted
time: 175ms
memory: 15120kb

input:

2285 5000 5
1 1 703673326
2 2 984399976
3 3 12955016
3 4 268283262
5 5 134408888
3 6 209459795
4 7 470635522
7 8 249169348
6 9 162916912
9 10 602537912
9 11 382389875
8 12 68732721
13 13 340548655
14 14 4974719
11 15 298533628
13 16 163122701
15 17 539051648
16 18 915285907
15 19 37353621
20 20 1686...

output:

1089824521179

result:

ok "1089824521179"

Test #19:

score: 0
Accepted
time: 117ms
memory: 11412kb

input:

1665 5000 5
1 1 391336295
2 2 818596937
2 3 36303460
3 4 692193603
3 5 167188334
5 6 42906417
7 7 209562094
8 8 432700460
5 9 277544758
9 10 368305190
7 11 123312993
10 12 257671641
11 13 325198974
12 14 314998086
11 15 524912574
14 16 7937721
15 17 595017521
15 18 152195724
16 19 220779532
20 20 66...

output:

802344415194

result:

ok "802344415194"

Test #20:

score: 0
Accepted
time: 140ms
memory: 13028kb

input:

1931 5000 5
1 1 426904002
2 2 254376243
3 3 135246289
3 4 976165593
3 5 275679478
2 6 362978352
4 7 241220838
4 8 449379797
9 9 640370206
7 10 573859128
7 11 449999338
9 12 551763746
11 13 13322541
14 14 581909052
11 15 821318917
16 16 77513741
14 17 236108255
14 18 698955546
19 19 785007040
16 20 5...

output:

907944994105

result:

ok "907944994105"

Test #21:

score: 0
Accepted
time: 222ms
memory: 14076kb

input:

2418 5000 5
1 1 929825278
1 2 962009514
3 3 743102519
3 4 464132861
1 5 7252315
6 6 636752676
5 7 724833328
6 8 99879879
8 9 609826241
9 10 845625766
9 11 925193241
12 12 426158918
9 13 377831123
13 14 906364820
12 15 785082373
16 16 368089175
13 17 652030701
17 18 313705349
17 19 367594932
20 20 74...

output:

1151584874159

result:

ok "1151584874159"

Test #22:

score: 0
Accepted
time: 171ms
memory: 14000kb

input:

2358 5000 5
1 1 791154556
2 2 484512933
1 3 518651087
4 4 926400
2 5 618444796
2 6 66449752
6 7 934785439
4 8 667556782
5 9 951515228
7 10 593580625
7 11 419572648
12 12 255412422
13 13 737068570
13 14 763078674
14 15 475480198
15 16 62348626
14 17 905538977
16 18 456813291
16 19 55692591
18 20 9743...

output:

1114690674370

result:

ok "1114690674370"

Test #23:

score: 0
Accepted
time: 62ms
memory: 9716kb

input:

2107 5000 5
607 870 514537120
606 1610 79052946
393 2007 90029679
688 1723 862198624
1382 1777 291331890
117 1287 738984259
112 1788 509811648
422 1005 922431102
1512 1580 802712536
103 1741 961665718
772 1207 539884988
574 1440 301778755
1099 1219 57806451
159 1198 136772460
2012 2099 157744717
165...

output:

142399749804

result:

ok "142399749804"

Test #24:

score: 0
Accepted
time: 55ms
memory: 11656kb

input:

2348 5000 5
80 2228 43351731
145 1450 656344008
63 248 727009680
320 668 147470842
699 1845 983020360
315 740 359250811
160 603 686757397
256 743 956274049
1745 2013 450809364
584 1343 222949110
34 1985 36564694
593 1243 643437646
2062 2160 650239880
403 1785 264806997
892 2282 84037625
1294 2252 67...

output:

144630193215

result:

ok "144630193215"

Test #25:

score: 0
Accepted
time: 88ms
memory: 13532kb

input:

3293 5000 5
106 223 629714784
1289 1772 324328176
1971 2160 503550458
327 2634 291970332
1488 2540 956391187
2955 3286 111461971
858 2924 373002734
825 3094 892207928
1752 2935 309749725
1691 2444 251270564
2309 2834 765733598
1367 2204 941261524
1214 1646 657176508
462 2503 127840382
382 1688 80437...

output:

145170473648

result:

ok "145170473648"

Test #26:

score: -20
Time Limit Exceeded

input:

5000 5000 1
1124 1146 14426411
1845 1863 95184853
2278 2288 587463824
508 523 121238323
4867 4875 873217210
740 780 991611483
2719 2723 179340482
4406 4445 903215313
1631 1674 894332853
7 49 462229092
4519 4563 115823970
4033 4053 318818798
1086 1125 240016939
3859 3883 747714046
1730 1738 241717867...

output:


result:


Subtask #3:

score: 0
Runtime Error

Test #31:

score: 0
Runtime Error

input:

322675 500000 1
162058 177924 125740423
72321 188693 51206015
73706 159883 238256306
223634 241332 292316893
8164 94217 879196279
232892 319246 624760769
67688 195525 319652781
70831 92026 394982900
68675 156743 598333126
107804 308096 843245966
57077 248406 291662171
12794 193657 560389007
105560 2...

output:


result:


Subtask #4:

score: 0
Runtime Error

Test #51:

score: 0
Runtime Error

input:

194181 500000 5
22921 38709 1
103611 130117 1
33044 135246 1
25161 106036 1
13484 183424 1
129622 133239 1
103905 105727 1
8418 141108 1
5951 145648 1
61392 105830 1
139975 149309 1
47361 59947 1
91598 172246 1
32303 43094 1
72490 170121 1
68502 168603 1
56051 91019 1
106112 129606 1
70776 177996 1
...

output:


result:


Subtask #5:

score: 0
Runtime Error

Test #66:

score: 0
Runtime Error

input:

265199 500000 5
51732 151507 196279569
1147 251097 325871693
79410 120618 539045634
209514 221950 912376813
44813 147573 616444800
53619 134328 533306546
94940 108466 186490362
42483 236958 489649490
127349 167018 943263893
103970 193784 202963780
197001 221033 210521750
5815 113674 152090319
129972...

output:


result: