QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#217163 | #4561. Catfish Farm | venti# | 52 | 146ms | 221652kb | C++20 | 2.7kb | 2023-10-16 16:04:40 | 2024-07-04 02:20:20 |
Judging History
answer
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
const int kMaxN = 3000;
const int kUp = 0, kDown = 1;
const long long kInf = 4e18;
long long dp[kMaxN+2][kMaxN+2][2];
long long psum[kMaxN+2][kMaxN+2];
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
for (int i = 0 ; i < M ; i++) {
psum[X[i]][Y[i]+1] += W[i]; // increment y by one to ease our life
}
for (int i = 0 ; i < N ; i++) {
for (int j = 1 ; j <= N ; j++) {
psum[i][j] += psum[i][j-1];
}
}
for (int col = N; col <= N+1 ; col++) {
for (int i = 0 ; i <= N ; i++) {
dp[col][i][kUp] = 0;
dp[col][i][kDown] = 0;
}
}
for (int col = N-1 ; col >= 0 ; col--) {
for (int i = 0 ; i <= N ; i++) {
dp[col][i][kUp] = dp[col][i][kDown] = -kInf;
}
// prefix max
long long prefix_max = -kInf;
for (int i = 1 ; i <= N ; i++) {
long long val = psum[col+1][i];
if (col > 0) val -= psum[col][i];
prefix_max = max(prefix_max, val + dp[col+1][i][kDown]);
dp[col][i][kDown] = max(dp[col][i][kDown], prefix_max);
dp[col][i][kUp] = max(dp[col][i][kUp], prefix_max);
dp[col][i][kUp] = max(dp[col][i][kUp], val + dp[col+1][i][kUp]);
}
// suffix max
long long suffix_max = -kInf;
for (int i = N ; i >= 0 ; i--) {
if (i > 0) {
long long val = psum[col+1][i];
if (col > 0) val += psum[col-1][i];
val += dp[col+1][i][kUp];
suffix_max = max(suffix_max, val);
}
long long nval = suffix_max;
if (col > 0) nval -= (psum[col][i] + psum[col-1][i]);
dp[col][i][kUp] = max(dp[col][i][kUp], nval);
}
// if we turn current col to 0
for (int i = 1 ; i <= N ; i++) {
dp[col][i][kUp] = max(dp[col][i][kUp], dp[col+2][0][kUp]);
dp[col][i][kDown] = max(dp[col][i][kDown], dp[col+2][0][kUp]);
}
dp[col][0][kUp] = max(dp[col][0][kUp], dp[col+1][0][kUp]);
prefix_max = -kInf;
for (int i = 1 ; i <= N ; i++) {
prefix_max = max(prefix_max, psum[col+2][i] + dp[col+2][i][kUp]);
dp[col][i][kUp] = max(dp[col][i][kUp], prefix_max);
dp[col][i][kDown] = max(dp[col][i][kDown], prefix_max);
}
if (col+2 <= N) {
suffix_max = -kInf;
for (int i = N ; i >= 0 ; i--) {
if (i > 0) {
long long val = psum[col+2][i] + dp[col+2][i][kUp];
val += psum[col][i];
suffix_max = max(suffix_max, val);
}
long long nval = suffix_max - psum[col][i];
dp[col][i][kUp] = max(dp[col][i][kUp], nval);
dp[col][i][kDown] = max(dp[col][i][kDown], nval);
}
}
}
long long ret = dp[0][0][kUp];
return ret;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Runtime Error
Test #1:
score: 0
Runtime Error
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 90000 80699 0 10792 55091480 0 36762 389250726 0 79267 706445371 0 76952 290301137 0 13444 69711795 0 68980 66221400 0 1695 703252611 0 36628 632571604 0 87676 264578012 0 79496 397448339 0 57929 447544332 0 35453 355374818 0 62449 686423696 0 45614 667165709...
output:
Unauthorized output
result:
Subtask #2:
score: 0
Runtime Error
Test #7:
score: 6
Accepted
time: 1ms
memory: 5864kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 0 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2
result:
ok 3 lines
Test #8:
score: -6
Runtime Error
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 90000 161862 0 56823 293232472 0 28967 124369573 1 8799 138712011 0 87115 743135614 1 56429 262092699 0 61318 597172732 0 39127 477101342 1 44938 277680401 1 79037 997527330 1 88113 13289754 0 29715 35249311 0 50637 709319782 1 20760 845594381 1 80662 6299890...
output:
Unauthorized output
result:
Subtask #3:
score: 0
Runtime Error
Test #20:
score: 0
Runtime Error
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 0 10082010
output:
Unauthorized output
result:
Subtask #4:
score: 14
Accepted
Test #28:
score: 14
Accepted
time: 1ms
memory: 5924kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 4 3 2 2 1 0 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 3
result:
ok 3 lines
Test #29:
score: 0
Accepted
time: 1ms
memory: 7904kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 8 7 5 5 1 4 4 1 6 6 1 3 3 1 0 0 1 2 2 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 7
result:
ok 3 lines
Test #30:
score: 0
Accepted
time: 0ms
memory: 6088kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 0 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2
result:
ok 3 lines
Test #31:
score: 0
Accepted
time: 1ms
memory: 6128kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 2 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2
result:
ok 3 lines
Test #32:
score: 0
Accepted
time: 3ms
memory: 18420kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 150 600 79 2 983288470 11 0 322623476 136 0 774411048 24 2 816724362 21 2 719492379 33 3 892309581 47 0 473707335 31 2 781573473 138 2 82986686 75 1 126753954 20 1 54988783 121 1 691958594 20 0 545299878 96 0 637112704 108 1 558914127 74 2 517404335 94 1 7420...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 216624184325
result:
ok 3 lines
Test #33:
score: 0
Accepted
time: 0ms
memory: 26808kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 2400 173 2 605122964 182 1 915124935 228 4 536218616 188 1 277682068 88 0 326709697 177 2 623496380 297 7 863327652 140 2 138423292 285 1 13632981 41 2 75649420 224 6 197471342 251 5 439508855 167 3 861142148 56 0 344701471 250 2 995027405 95 7 843229073 ...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 799839985182
result:
ok 3 lines
Test #34:
score: 0
Accepted
time: 4ms
memory: 18436kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 150 800 20 3 849357409 45 6 845379514 12 6 128280695 6 6 390372289 62 6 517437842 137 7 65548858 98 6 844399946 23 1 682947100 51 7 833340178 81 3 483754945 38 0 861597575 74 7 495104215 125 0 478378570 99 3 341278360 87 3 306019744 137 5 794376023 61 4 74825...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 278622587073
result:
ok 3 lines
Test #35:
score: 0
Accepted
time: 0ms
memory: 28524kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 1200 166 5 652406862 230 1 936000345 267 2 246194623 232 5 771727438 276 4 469543783 248 4 348756282 8 5 940270587 20 7 744966696 289 3 202877057 262 0 170597242 80 3 501750519 99 3 204294567 212 7 64719337 274 6 476561964 282 6 850743387 69 1 192623284 1...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 450122905247
result:
ok 3 lines
Test #36:
score: 0
Accepted
time: 0ms
memory: 10056kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 75 154 1 2 287460779 25 2 196060809 23 0 435177402 4 1 312603731 10 0 522368305 8 2 942743684 35 0 161888102 8 1 633736621 20 1 6156684 17 1 936854721 59 2 482679336 50 1 671169950 27 0 746724262 20 0 656175794 39 1 601239385 59 3 483992818 24 1 762900782 6 1...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 56941582046
result:
ok 3 lines
Test #37:
score: 0
Accepted
time: 0ms
memory: 28880kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 964 156 0 517686267 218 2 393391655 286 2 536894082 274 2 470679502 169 0 969490925 144 4 250311053 84 2 412144747 38 3 385325871 217 0 987737108 204 2 167393867 264 0 552098416 216 2 696657577 206 1 739807394 264 2 450201148 134 2 324063336 92 0 54295515...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 360901324355
result:
ok 3 lines
Subtask #5:
score: 21
Accepted
Dependency #4:
100%
Accepted
Test #38:
score: 21
Accepted
time: 3ms
memory: 26644kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 299 225 225 1 188 188 1 256 256 1 242 242 1 92 92 1 18 18 1 281 281 1 50 50 1 98 98 1 44 44 1 22 22 1 49 49 1 103 103 1 234 234 1 148 148 1 94 94 1 108 108 1 212 212 1 165 165 1 176 176 1 268 268 1 198 198 1 294 294 1 47 47 1 271 271 1 104 104 1 115 115 1...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 299
result:
ok 3 lines
Test #39:
score: 0
Accepted
time: 2ms
memory: 12304kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 75 2179 53 31 563344954 15 74 477023211 69 1 575429875 42 35 335795632 51 14 287313191 45 24 746221941 50 70 480971487 72 18 828902115 24 27 99821462 17 18 123451248 25 16 678348881 55 16 317097786 42 3 633058440 71 43 230340766 17 26 959982513 55 55 17854262...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 741526820812
result:
ok 3 lines
Test #40:
score: 0
Accepted
time: 4ms
memory: 27244kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 45697 182 100 731786145 151 96 986425994 215 42 898795005 68 154 609287131 238 182 480485219 177 115 748845081 90 60 297894835 99 264 113984533 61 7 824167282 202 25 647772606 219 196 130131623 80 163 687436526 204 13 714549591 171 212 869422306 243 55 46...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 15950010139738
result:
ok 3 lines
Test #41:
score: 0
Accepted
time: 8ms
memory: 27408kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 44891 71 111 128683187 205 110 319463472 78 108 410835687 96 95 923614827 110 155 930664327 191 217 25262143 176 138 20541780 297 133 496707599 73 4 84454182 168 274 961893037 86 190 888827014 190 280 204596027 96 285 95031851 61 187 9947648 161 19 655353...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 15071314154708
result:
ok 3 lines
Test #42:
score: 0
Accepted
time: 8ms
memory: 27180kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 45000 267 98 441499383 223 135 283640442 131 279 627406670 214 198 801580324 132 282 376694801 24 40 387408212 54 244 865807982 119 196 850979120 206 13 661271578 50 253 833135308 186 78 864108094 202 19 464819489 33 220 923043984 190 226 258774395 269 93...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 15222297213643
result:
ok 3 lines
Test #43:
score: 0
Accepted
time: 8ms
memory: 29036kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 45000 219 12 608024973 34 140 236285472 37 29 538124702 289 274 110348478 135 231 817513290 142 275 415779383 274 276 211029872 85 271 539636134 48 35 524088286 5 59 950435892 102 180 5950564 249 208 877874970 152 28 232250031 83 274 872409436 215 77 7812...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 15026534595538
result:
ok 3 lines
Test #44:
score: 0
Accepted
time: 6ms
memory: 27112kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 45000 257 58 106150892 200 35 10326607 167 83 750891028 98 103 940870702 190 149 55405472 239 80 256372146 225 80 109351276 174 93 228181376 102 17 759335709 83 126 177506389 6 90 967397023 222 142 653127690 1 18 364737801 292 21 502311783 180 129 6583967...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 15049050466544
result:
ok 3 lines
Test #45:
score: 0
Accepted
time: 11ms
memory: 28052kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 90000 199 104 841193282 175 247 213737679 266 117 785425870 61 249 977065179 252 182 688792653 282 288 664719844 250 83 140623990 158 141 64202124 13 178 891361528 28 173 637109774 105 153 86855580 159 43 128522343 175 274 391022415 263 61 322174662 36 27...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 30031507901281
result:
ok 3 lines
Test #46:
score: 0
Accepted
time: 0ms
memory: 29028kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 9000 197 97 69735094 63 225 689228170 141 276 116559013 146 21 298824483 207 26 506383665 179 166 692219827 126 228 912530611 49 280 975293215 180 105 520960406 101 95 915994933 151 175 247406030 207 56 833231661 199 62 375884417 245 230 507371439 34 35 3...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 3061077668538
result:
ok 3 lines
Test #47:
score: 0
Accepted
time: 3ms
memory: 27224kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 30000 160 137 796350389 45 167 980887125 79 84 640999501 115 256 37834483 102 196 990322697 236 127 925555377 56 297 858122397 40 98 67992662 132 268 74930143 230 14 850797631 252 243 365678113 142 253 752657456 265 159 232806783 24 262 724891551 72 290 8...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 10070952697526
result:
ok 3 lines
Test #48:
score: 0
Accepted
time: 0ms
memory: 26744kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 1198 278 2 332184658 297 13 251749995 5 3 133615910 203 2 349487694 66 8 470315078 138 5 563588792 127 7 951767948 17 10 461646590 274 7 339669243 253 4 978903888 229 1 613471021 207 2 36217149 165 14 185570377 107 13 245962084 285 4 398098140 142 10 3808...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 443843838929
result:
ok 3 lines
Test #49:
score: 0
Accepted
time: 7ms
memory: 26868kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 300 8411 49 297 624723225 240 236 217340772 232 249 67875554 121 178 708029334 65 243 601803189 73 230 442857131 108 230 286577949 268 187 747869286 55 253 679603504 21 226 856218226 25 263 735743774 53 187 794033926 139 291 917383352 24 190 820251765 72 179 ...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2867379902830
result:
ok 3 lines
Subtask #6:
score: 17
Accepted
Dependency #5:
100%
Accepted
Test #50:
score: 17
Accepted
time: 80ms
memory: 215148kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 2999 152 152 1 870 870 1 872 872 1 18 18 1 2888 2888 1 1164 1164 1 2088 2088 1 559 559 1 537 537 1 1504 1504 1 197 197 1 1198 1198 1 2054 2054 1 2790 2790 1 2398 2398 1 2125 2125 1 1593 1593 1 272 272 1 2739 2739 1 454 454 1 1723 1723 1 1360 1360 1 1031 ...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2999
result:
ok 3 lines
Test #51:
score: 0
Accepted
time: 40ms
memory: 62524kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 750 215843 285 706 96619303 449 445 920525212 431 716 644773313 198 307 358876532 563 18 208015632 259 555 652833633 195 192 479273206 499 140 836460516 513 155 618779886 438 234 672736004 468 692 697871377 165 641 366920069 157 161 818345251 257 333 27051936...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 72142312796929
result:
ok 3 lines
Test #52:
score: 0
Accepted
time: 125ms
memory: 221416kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 849 1266 220863748 1057 121 990589427 426 1411 201996851 215 1372 632504540 2106 2800 616816363 742 1635 924495140 743 313 933475071 1898 2768 261425719 1792 827 95508859 2423 2202 509702433 2109 1402 928330165 636 2491 945894119 1794 2370 4466316...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 120098082898608
result:
ok 3 lines
Test #53:
score: 0
Accepted
time: 124ms
memory: 221652kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 1955 2627 993995412 1202 213 415860714 1928 35 339887281 2654 2687 239038882 283 1493 863601402 1745 617 406760990 2729 960 954862770 193 1567 634445662 1940 449 994849765 190 2737 255610822 2855 2978 86359620 2440 91 784180185 2453 1694 721913828...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 102439236138254
result:
ok 3 lines
Test #54:
score: 0
Accepted
time: 106ms
memory: 221580kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 2779 2937 523602526 2993 1899 792511775 1425 2598 877799194 2313 2681 496767466 1177 2780 866415585 2350 2287 961204709 2285 1515 649421837 2372 1621 56375880 1562 537 139881177 2353 2422 391937649 495 241 190008800 1582 459 540808887 1854 985 659...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 100915003110089
result:
ok 3 lines
Test #55:
score: 0
Accepted
time: 40ms
memory: 51820kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 547 299209 27 306 10907055 476 276 238467007 360 336 622560722 177 356 356231554 322 220 947724184 138 412 161415376 251 260 931602964 407 108 88317410 427 170 73028243 31 541 537382921 487 49 434355544 227 185 173494234 212 350 599202917 243 133 184925154 78...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 99669450104468
result:
ok 3 lines
Test #56:
score: 0
Accepted
time: 146ms
memory: 221504kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 984 1754 449941521 1462 2136 801572535 256 1833 303918181 330 1011 822189832 1187 2319 347167718 984 2544 813061163 1098 2054 537704899 2531 2271 29265764 2061 290 938893623 327 393 509149933 971 1449 204275696 1397 1374 886696349 1645 1815 121005...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 101033477227142
result:
ok 3 lines
Test #57:
score: 0
Accepted
time: 129ms
memory: 221556kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 2989 2051 529951708 2173 1858 961354801 2589 1574 154427926 1049 992 549631337 2568 1785 505237921 752 2953 707108447 1559 2012 950573185 2199 403 465482307 2884 493 31188527 2487 2418 929063100 2731 2288 675388204 2399 1053 759190132 1198 1499 61...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 100818204491882
result:
ok 3 lines
Test #58:
score: 0
Accepted
time: 94ms
memory: 217484kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 115837 2340 46 615608762 2949 118 266845158 2591 114 157971399 2208 92 594681951 627 26 13723909 1023 144 888944057 196 124 906085945 2958 81 23804794 2084 43 132850968 868 82 552020884 1725 113 953072410 491 71 141684081 1039 132 464572517 897 123 71612...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 39456324428484
result:
ok 3 lines
Test #59:
score: 0
Accepted
time: 96ms
memory: 221360kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3000 300000 988 2118 131606733 985 1794 144480227 358 2624 108635657 923 1774 792481220 17 2575 264371792 499 2317 191620039 1097 1747 742851692 272 2167 328345680 1053 2569 132427428 1145 1720 678843581 1075 2553 678923748 1051 2816 840087336 171 2921 777439...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 100356782984543
result:
ok 3 lines
Subtask #7:
score: 0
Runtime Error
Test #60:
score: 0
Runtime Error
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 99999 31026 31026 1 42940 42940 1 69303 69303 1 90350 90350 1 77507 77507 1 87126 87126 1 17988 17988 1 5146 5146 1 63023 63023 1 27776 27776 1 6136 6136 1 82557 82557 1 24904 24904 1 21667 21667 1 67271 67271 1 80294 80294 1 81145 81145 1 47144 47144 ...
output:
Unauthorized output
result:
Subtask #8:
score: 0
Skipped
Dependency #1:
0%