QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#390960 | #3270. 魔塔 OL | 2745518585 | 10 | 51ms | 268348kb | C++20 | 2.3kb | 2024-04-16 09:49:28 | 2024-04-16 09:49:29 |
Judging History
answer
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=50001,K=10001,Q=150001,M=14;
int n,m,q,c[Q],d[N],lg[1<<M];
short f1[K][N/M],f2[K][N/M],f3[K][N/M],h[N/M];
ll g1[N/M][1<<M],g2[N/M][1<<M];
struct str
{
int x,y,z,a,b,t;
}a[N];
struct
{
int x,y,z;
}b[N];
void add(short *a,int x)
{
a[x/M]^=(1<<(x%M));
}
bool cmp(str a,str b)
{
if((a.a<a.b)^(b.a<b.b)) return a.a<a.b;
if(a.a<a.b) return a.a<b.a;
else return a.b>b.b;
}
int main()
{
scanf("%d",&m);
for(int i=1;i<=m;++i)
{
char z;
scanf("%s",&z);
if(z=='+')
{
++n;
scanf("%d%d%d%d%d",&a[n].x,&a[n].y,&a[n].z,&a[n].a,&a[n].b);
a[n].t=n;
c[i]=n;
}
else if(z=='-')
{
scanf("%d",&c[i]);
}
else if(z=='?')
{
++q;
scanf("%d%d%d",&b[q].x,&b[q].y,&b[q].z);
c[i]=-q;
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;++i) d[a[i].t]=i;
for(int i=1;i<=m;++i)
{
if(c[i]>0) c[i]=d[c[i]];
}
for(int i=1;i<=n;++i)
{
add(f1[a[i].x],i);
add(f2[a[i].y],i);
add(f3[a[i].z],i);
}
for(int i=1;i<=10000;++i)
{
for(int j=0;j<=n/M;++j)
{
f1[i][j]^=f1[i-1][j];
f2[i][j]^=f2[i-1][j];
f3[i][j]^=f3[i-1][j];
}
}
if(n==150000) return 0;
for(int i=0;i<=M-1;++i)
{
for(int j=(1<<i);j<=(1<<(i+1))-1;++j) lg[j]=i;
}
for(int i=0;i<=n/M;++i)
{
for(int j=1;j<=(1<<M)-1;++j)
{
g1[i][j]=min(g1[i][j^(1<<lg[j])],g2[i][j^(1<<lg[j])]-a[i*M+lg[j]].a);
g2[i][j]=g2[i][j^(1<<lg[j])]-a[i*M+lg[j]].a+a[i*M+lg[j]].b;
}
}
for(int i=1;i<=m;++i)
{
if(c[i]>0)
{
add(h,c[i]);
}
else
{
int t=-c[i];
ll s=0,w=0;
for(int j=0;j<=n/M;++j)
{
int p=f1[b[t].x][j]&f2[b[t].y][j]&f3[b[t].z][j]&h[j];
s=min(s,w+g1[j][p]);
w+=g2[j][p];
}
printf("%lld\n",-s);
}
}
return 0;
}
详细
Subtask #1:
score: 3
Accepted
Test #1:
score: 3
Accepted
time: 4ms
memory: 126356kb
input:
10 + 2 1 1 3 4 + 1 2 2 2 5 ? 2 2 2 + 1 1 1 8 2 ? 2 2 1 ? 1 2 2 - 1 ? 2 2 2 - 3 ? 1 2 2
output:
2 7 5 5 2
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 7ms
memory: 142076kb
input:
24 + 1753 1095 4823 848018166 5601858 + 3635 2923 7293 78801729 4982097 + 4314 6396 5125 589512425 8363663 ? 8152 8403 6056 + 9016 7943 8050 764333567 3409718 ? 3516 8598 7385 ? 1126 7574 1443 + 2684 1515 2348 83534456 3012204 - 5 ? 1861 8978 2163 - 4 ? 480 2246 9251 - 1 + 3844 6148 4596 110822346 7...
output:
1429166928 848018166 0 0 0 0 0 0
result:
ok 8 lines
Test #3:
score: 0
Accepted
time: 0ms
memory: 142328kb
input:
24 + 9833 6751 5339 125176046 14445 + 1422 2896 2855 729112474 32204 + 636 3368 6257 631353523 97285 + 7661 7136 8410 801391911 74940 ? 7519 1330 3067 ? 9524 4467 711 ? 2291 8608 9213 - 1 ? 1174 1586 7861 ? 2265 4657 349 ? 8213 4439 7824 + 9135 101 6409 977821442 34327 + 1115 2298 9752 392083250 697...
output:
0 0 1360368712 0 0 1360368712 729112474 729112474
result:
ok 8 lines
Test #4:
score: 0
Accepted
time: 3ms
memory: 141976kb
input:
24 + 5489 9970 1398 56343180 451 + 1396 1562 433 123478310 271 - 2 + 7608 4501 7224 982256325 947 - 3 ? 9813 5754 2918 ? 2389 7502 4690 + 5393 498 3406 73387341 297 ? 621 6378 5221 ? 3593 3767 6323 - 1 + 3286 7926 6941 820762494 364 - 5 + 8217 6480 9506 484820290 71 - 6 + 9300 262 4419 859278667 105...
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #5:
score: 0
Accepted
time: 15ms
memory: 121952kb
input:
8 ? 1117 6081 8661 ? 5702 6655 5962 ? 4712 8281 9732 ? 4472 3953 2253 ? 8402 8576 2723 ? 8258 6776 1630 ? 9363 4534 9896 ? 8271 8778 1846
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #6:
score: 0
Accepted
time: 8ms
memory: 141204kb
input:
24 + 310 6758 7068 581664379 614379561 ? 431 4963 9146 + 8040 7145 2374 921183974 119186212 ? 739 2475 4540 + 7023 2014 2972 87001226 131388922 + 332 1474 3058 965714110 106555937 - 1 ? 6232 3770 731 ? 3571 5680 4059 + 6128 4706 1280 517406107 709876522 ? 7499 5319 7619 ? 8343 4010 2781 + 2990 2854 ...
output:
0 0 0 965714110 728855999 0 191994852 191994852
result:
ok 8 lines
Test #7:
score: 0
Accepted
time: 3ms
memory: 142012kb
input:
24 ? 7531 9176 7945 + 6869 6976 9568 811496150 65260266 + 6002 7147 3653 399332739 802592034 + 1589 1206 9875 491845336 674971274 + 2606 7949 8709 732507238 685138894 - 4 - 3 + 7773 2691 4846 806580794 444791436 ? 8302 1260 612 + 9474 585 6602 228111503 673775897 + 7377 2531 1730 989204815 313215502...
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #8:
score: 0
Accepted
time: 7ms
memory: 143552kb
input:
24 + 6076 6882 697 357720969 18505713 + 8522 7101 7498 273203817 247602668 + 5282 5228 6668 389453604 672327934 ? 6379 8137 1715 ? 7691 1160 2306 + 2065 3609 2107 39462790 995011849 - 2 + 7821 3053 4992 54012550 598488583 ? 2742 7408 4111 + 8142 2626 2703 378261715 799364458 + 8988 6063 8298 8459843...
output:
357720969 0 39462790 0 0 0 0 0
result:
ok 8 lines
Test #9:
score: 0
Accepted
time: 4ms
memory: 141096kb
input:
24 + 4703 1944 1160 450781972 720568789 + 3502 6991 8127 106832475 971539963 ? 3141 943 3234 + 5361 8172 8148 172500308 209720541 - 3 - 1 + 4124 2386 6673 396124268 408795532 + 7267 8100 7795 710193258 706757641 ? 3147 654 9372 + 7795 2301 1587 223112271 672239899 ? 4553 738 5182 + 6188 7219 243 764...
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 140352kb
input:
24 + 1015 3099 4819 69198894 934987604 + 1971 6075 3089 18416465 126949453 + 3346 4984 4780 756144 637251010 + 9173 1405 1768 90360802 606947317 + 1452 1393 6947 86736593 700812438 + 7794 9412 1997 52466993 263586896 - 5 + 6442 6634 8262 33830753 203825632 ? 5518 522 7828 - 1 - 3 + 3365 8793 7708 64...
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #11:
score: 0
Accepted
time: 4ms
memory: 142444kb
input:
24 + 9703 133 3965 55149 848473280 ? 794 7392 2211 ? 6854 1133 7922 + 5774 6768 6550 19909 92266756 - 2 ? 4784 2895 2924 + 2589 9679 8865 93993 586178413 + 6266 516 8968 99691 77932883 ? 5982 5547 905 + 7947 3208 3227 44903 268728227 - 5 - 4 + 6508 3419 6547 26144 770044013 ? 3120 2629 5910 + 8616 2...
output:
0 0 0 0 0 0 0 0
result:
ok 8 lines
Test #12:
score: 0
Accepted
time: 15ms
memory: 141812kb
input:
24 + 3428 3207 272 398860932 94104753 ? 7644 5501 6242 ? 4375 4880 3925 ? 1803 4173 8176 ? 6042 1710 2170 + 3748 5518 3602 909430193 42284174 + 3649 9013 9199 375710242 7718045 - 3 ? 919 5751 4803 + 3223 324 8116 531239473 10475148 ? 1915 3129 9903 + 7144 6800 8556 652921806 11521155 - 1 - 4 + 4427 ...
output:
398860932 398860932 0 0 0 0 432397460 0
result:
ok 8 lines
Subtask #2:
score: 7
Accepted
Dependency #1:
100%
Accepted
Test #13:
score: 7
Accepted
time: 32ms
memory: 263240kb
input:
15000 + 9754 4951 2299 36950620 330476254 ? 7852 3754 6437 + 7960 5847 3889 877365182 511620385 + 2042 1318 3674 509235230 295832114 + 8026 1900 3586 787277573 238947685 ? 3297 71 4102 ? 7652 9321 3721 ? 1782 8456 2128 ? 3892 8535 3934 + 4911 3952 9686 951709847 5471156 + 567 5092 9346 132609563 645...
output:
0 0 509235230 0 509235230 0 0 799337462 0 0 0 575363546 0 955299529 799337462 0 0 1724967630 320029391 590850186 1250598046 0 548236941 509235230 548236941 389915580 509235230 0 578425355 799337462 1197972240 0 0 35119488 837528941 758929477 891443369 548236941 0 1242763152 0 35119488 0 0 0 0 351194...
result:
ok 5000 lines
Test #14:
score: 0
Accepted
time: 31ms
memory: 263636kb
input:
15000 + 9000 6045 9181 863134447 327523157 + 5800 3917 4897 494849846 170888604 + 8224 524 7309 567221629 163056241 ? 2839 4181 2426 ? 1731 3056 6432 + 8778 8718 3130 146110843 137080516 + 4985 3689 8556 456546147 7602401 + 356 9954 3979 273061519 454609666 + 1209 9046 4448 642768233 777950592 + 879...
output:
0 0 0 144925021 0 0 846135812 0 0 0 1426212455 1659355410 827991846 846135812 1194975799 0 846135812 377185177 0 248809656 2138119062 438946756 0 438946756 2724060363 748592853 0 873547760 846135812 0 383144069 227838083 39166976 39166976 39166976 846135812 39166976 39166976 39166976 3947224442 3916...
result:
ok 5000 lines
Test #15:
score: 0
Accepted
time: 40ms
memory: 267608kb
input:
15000 + 951 7138 255 320722052 324570060 + 2596 7803 3430 410802879 748644857 ? 3555 6250 6021 ? 3881 2359 5828 ? 2110 933 7043 + 4862 2175 1664 481128464 24445604 ? 1280 3044 69 + 368 299 6465 110630763 605821477 + 1298 1572 1823 6340608 435831189 + 8497 471 8990 862173030 294426772 ? 2582 3988 118...
output:
0 0 0 0 0 6340608 6340608 184769081 0 6340608 6340608 110630763 6340608 6340608 0 184769081 0 110630763 144559506 6340608 0 0 184769081 0 6340608 6340608 6340608 284186499 209374819 6340608 6340608 166088998 600045165 0 24708843 6340608 6340608 6340608 110630763 600045165 6340608 0 6340608 6340608 6...
result:
ok 5000 lines
Test #16:
score: 0
Accepted
time: 28ms
memory: 267728kb
input:
15000 ? 1330 3972 8167 + 7771 2045 28 71596349 316831431 + 4392 5643 8439 793300118 365317022 ? 1145 1085 1131 ? 1981 4834 3010 ? 7898 2215 2137 + 9452 8525 6012 308068582 222805994 + 3109 1021 3834 149338880 460129515 + 8252 8596 2476 25387218 893568152 + 9457 8518 1637 365077612 577489093 + 7750 4...
output:
0 0 0 71596349 0 149338880 0 0 71596349 149338880 482509483 0 149338880 0 339204739 0 0 149338880 646121546 0 339204739 0 347036011 0 0 840777389 0 818079693 25387218 0 8400682 0 28267956 586256202 940165346 0 8400682 5137674 940165346 0 0 1146605530 623425462 1009743383 8400682 0 0 0 8400682 635897...
result:
ok 5000 lines
Test #17:
score: 0
Accepted
time: 51ms
memory: 266768kb
input:
15000 ? 8212 7747 6199 ? 5369 4852 6221 + 857 4971 2870 21781664 537676236 ? 9139 6445 3549 ? 8576 2601 6708 + 4132 7656 9581 659855253 194286236 ? 3171 5622 517 ? 3171 327 2791 + 5787 5851 4846 918160613 261675926 + 1379 2503 9812 686149995 413030048 + 320 3121 1973 208594175 204418683 + 9169 5837 ...
output:
0 0 21781664 0 0 0 0 0 417771032 0 933665604 208594175 249449409 21781664 21781664 417771032 0 0 986604907 29341218 21781664 29341218 173452390 173452390 29341218 0 310828376 302388712 310828376 0 0 698493757 173452390 7884628 0 85153293 21781664 0 0 643737804 0 10510955 7884628 21781664 1387723437 ...
result:
ok 5000 lines
Test #18:
score: 0
Accepted
time: 31ms
memory: 263364kb
input:
15000 + 837 3441 1582 5253755 930660276 ? 8689 9131 528 + 4211 2422 5160 6252539 907522408 ? 5609 9790 4958 + 3432 9848 2969 4896645 940041091 + 3206 796 2996 4324022 502262890 + 5174 3152 4568 113382 730527877 + 980 3333 9883 3057033 196077695 + 4799 5142 3509 3458598 100286630 + 9905 3615 8329 927...
output:
0 5253755 3458598 5253755 5253755 5253755 9436006 4324022 113382 113382 4324022 4324022 0 0 867679 0 0 782618 867679 867679 0 0 5253755 0 867679 0 782618 0 0 867679 113382 113382 0 867679 0 867679 0 0 867679 782618 0 0 0 0 0 867679 867679 113382 782618 0 700552 535909 0 535909 535909 1670398 535909 ...
result:
ok 5000 lines
Test #19:
score: 0
Accepted
time: 43ms
memory: 266652kb
input:
15000 ? 3626 6634 706 ? 582 4658 8319 + 8038 8232 6351 148817232 19413256 + 3461 40 3308 437404415 36165359 + 4151 5967 4070 30914737 15176710 ? 1288 5080 6184 + 4930 9177 4330 947817077 4805014 ? 5408 4013 1507 + 1577 348 6484 542555954 13288929 + 5453 364 6644 751430050 669281 ? 5356 1904 8389 + 7...
output:
0 0 0 0 943795010 1681936131 270965968 1382835375 0 3579152160 2639972120 632435278 3039344651 270965968 0 270965968 437404415 0 270965968 0 9127712031 2340849315 7463345443 0 1359397476 0 1377000336 0 3316860695 437404415 9298965753 380650058 1538402434 380650058 417208885 4307614967 400461565 0 0 ...
result:
ok 5000 lines
Test #20:
score: 0
Accepted
time: 44ms
memory: 268348kb
input:
15000 ? 3611 820 322 + 68 6093 7344 309660603 8512708 + 9882 7331 2103 909793528 3687386 + 1138 4890 983 723391503 1141995 + 4152 9237 9559 368251712 1852709 + 1125 9752 5938 889181325 3511910 + 3283 9654 5264 798148638 5602588 + 3969 5422 5395 231270203 718652 + 844 9893 7504 648724319 7248904 + 64...
output:
0 0 0 723391503 723391503 1842658494 3508915764 90640885 2547470891 0 234293253 2126743406 0 1886611066 1362525704 90640885 0 0 234293253 6846238386 0 5602549623 2436552350 1238971762 2141877364 920903399 4563307221 0 0 0 723391503 0 10337046004 652693183 0 2094945541 723391503 19414268394 652693183...
result:
ok 5000 lines
Test #21:
score: 0
Accepted
time: 31ms
memory: 261680kb
input:
15000 + 2801 8433 1829 827936405 969585 ? 3554 6367 5498 + 2376 6776 7720 574207248 923476 + 6613 3146 9378 418383056 692192 ? 5159 1876 4183 ? 8151 2128 7976 + 5623 5911 6955 870974472 262457 + 7705 3889 1572 267612426 193840 + 5878 8297 1889 949419857 909460 ? 2892 6894 9481 + 9002 6208 2127 17602...
output:
0 0 0 574207248 1447046366 220786949 220786949 198485575 0 0 220786949 0 4729943861 1058959264 6235959933 0 4713794925 0 0 2808741354 8162816820 14909424 0 615261353 497270752 1066222454 6951160136 2520242767 937344669 101280125 2250020267 0 11483417654 1946958292 517978806 14909424 14909424 3799993...
result:
ok 5000 lines
Test #22:
score: 0
Accepted
time: 40ms
memory: 267012kb
input:
15000 ? 1822 8820 1908 ? 6083 1623 4227 + 2418 2824 8807 17003027 76795 + 8008 4258 9437 554693365 68917 ? 2489 3921 7965 + 3031 2477 9191 233409376 44619 + 275 7141 8883 632058327 24232 ? 2823 344 8326 ? 4155 616 839 + 4987 8144 4847 428926401 72189 + 1182 1452 4110 318600919 38488 ? 7018 1554 9239...
output:
0 0 0 0 0 318600919 318600919 318600919 318600919 822156885 1752483691 301111585 0 301111585 830297218 301111585 830297218 2204007159 0 318600919 338944729 422177019 810476550 948847527 0 0 0 931541984 2883343968 2060522423 5573300097 2636499601 810476550 318600919 3775501120 0 5139311198 2342378136...
result:
ok 5000 lines
Test #23:
score: 0
Accepted
time: 43ms
memory: 263424kb
input:
15000 ? 4398 952 1402 + 6182 1283 9449 125619308 3324 + 5052 3754 4403 940063798 7205 ? 5829 8922 1931 ? 3773 9074 6359 + 5199 3920 7495 700019470 6744 + 5061 4344 6013 240536850 6853 + 822 2757 5213 726945179 9781 + 2472 2802 3895 668906250 3499 + 7575 213 5230 996820178 794 ? 2508 2979 6516 + 7428...
output:
0 0 0 1395841648 0 1395841648 0 0 5247832105 249492314 6975588404 9526409743 1269626113 0 0 0 3312824127 0 0 1388900157 1130300143 0 6478380651 0 675045491 0 0 971474622 0 15013028304 7606104219 724850564 1858905499 49811071 249492314 2109763404 21604570710 3196438136 2036028508 1595679425 231376802...
result:
ok 5000 lines
Subtask #3:
score: 0
Time Limit Exceeded
Test #24:
score: 0
Time Limit Exceeded
input:
150000 + 588 392 1 640173034 0 ? 7190 2026 1 ? 8338 9467 1 + 332 5522 1 648776911 0 ? 650 9239 1 ? 6609 1361 1 + 6028 8919 1 315490561 0 + 6129 3818 1 716541323 0 + 2679 2249 1 94302018 0 ? 4777 8851 1 + 1382 186 1 295931805 0 + 3956 7752 1 275694182 0 + 6412 2498 1 363908456 0 + 8317 3132 1 2800724...
output:
2074067908132 11019226547412 817907746175 1287253004848 5884947061029 787965292571 1994482058703 8177793918861 1648055046671 1165240674392 7397954237107 8634304688792 4006125012670 3890709850375 7394460145869 2053750266745 7166348506597 31409360782 7898167222635 8804726903 1417417857923 369710509207...
result:
Subtask #4:
score: 0
Time Limit Exceeded
Test #33:
score: 0
Time Limit Exceeded
input:
150000 ? 5 2 1 + 4 2 1 783649445 157723097 + 3 4 1 281409092 43289613 + 2 3 2 673972686 123253436 ? 3 5 3 ? 4 2 3 + 5 5 2 534941804 768558960 + 2 4 4 103433782 913423755 + 1 2 3 99618767 608469807 + 5 4 4 852574365 108454346 ? 4 5 5 + 1 2 4 647253960 383418735 + 1 5 1 854207792 811999048 + 4 2 4 995...
output:
65526178736 52182410718 42485040898 38728370530 3268560029 28800166025 45457509431 80378377797 23556332425 8602065102 72684452843 10417204725 42618915986 106598542492 84637717517 13784004895 52015657131 37822945093 62827898051 37924798578 2394706047 1438872 80722613145 55883117707 1889607 6498252480...
result:
Subtask #5:
score: 0
Time Limit Exceeded
Test #47:
score: 0
Time Limit Exceeded
input:
150000 + 9842 1 1 26088315 73696334 + 2239 1 1 340356927 653719371 + 349 1 1 632186088 849099938 ? 908 1 1 + 5153 1 1 487261860 697113681 ? 984 1 1 + 5694 1 1 800262114 571078829 ? 1152 1 1 + 3322 1 1 855670925 826813576 + 8218 1 1 45843349 617723019 + 3988 1 1 641119549 840483348 + 3253 1 1 1654789...
output:
25307766814 27245283574 35830253886 34285624644 117917784596 38605582149 70532114138 77964817396 108382017650 112177295344 24094762409 95706678903 11384507912 66962543133 71899690205 31327692616 79598929469 65857429072 12005793829 68056237918 89280992503 24423505664 74115201523 36034384311 436267984...
result:
Subtask #6:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
0%