QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#55493 | #4808. Great Party | CharlieVinnie | WA | 11ms | 19292kb | C++20 | 1.5kb | 2022-10-14 09:39:34 | 2022-10-14 09:39:37 |
Judging History
answer
#include <bits/stdc++.h>
#define For(i,a,b) for(int i=a;i<=b;i++)
#define Rev(i,a,b) for(int i=a;i>=b;i--)
#define Fin(file) freopen(file,"r",stdin)
#define Fout(file) freopen(file,"w",stdout)
using namespace std;
const int N=1e6+5; typedef long long ll;
ll n,B,Q,a[N],ccnt[2][N],ww[2],xsum[N]; ll cur,ans[N];
struct Query { int l,r,id; bool operator< (const Query& q) const { return l/B==q.l/B?((l/B)&1?r<q.r:r>q.r):l<q.l; } } qry[N];
void insertR(int L,int R) { cur+=(R-L+2)/2+ww[R&1]-ccnt[R&1][xsum[R]]; ccnt[R&1][xsum[R]]++; ww[R&1]++; }
void insertL(int L,int R) { cur+=(R-L+2)/2+ww[(L-1)&1]-ccnt[(L-1)&1][xsum[L-1]]; ccnt[(L-1)&1][xsum[L-1]]++; ww[(L-1)&1]++; }
void eraseR(int L,int R) { ccnt[R&1][xsum[R]]--; ww[R&1]--; cur-=(R-L+2)/2+ww[R&1]-ccnt[R&1][xsum[R]]; }
void eraseL(int L,int R) { ccnt[(L-1)&1][xsum[L-1]]--; ww[(L-1)&1]--; cur-=(R-L+2)/2+ww[(L-1)&1]-ccnt[(L-1)&1][xsum[L-1]]; }
signed main(){
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin>>n>>Q; B=sqrt(n+0.5); For(i,1,n) { cin>>a[i]; xsum[i]=xsum[i-1]^(a[i]-1); }
For(i,1,Q) { cin>>qry[i].l>>qry[i].r; qry[i].id=i; } sort(qry+1,qry+1+Q);
int L=1,R=0; ccnt[0][0]=1; ww[0]=1;
For(i,1,Q){
while(R<qry[i].r) insertR(L,++R);
while(L>qry[i].l) insertL(--L,R);
while(R>qry[i].r) eraseR(L,R--);
while(L<qry[i].l) eraseL(L++,R);
ans[qry[i].id]=cur;
}
For(i,1,Q) cout<<ans[i]<<'\n';
cerr<<"Time = "<<clock()<<" ms"<<endl;
return 0;
}
// START TYPING IF YOU DON'T KNOW WHAT TO DO
详细
Test #1:
score: 100
Accepted
time: 3ms
memory: 5536kb
input:
4 5 1 2 2 4 1 2 2 3 3 4 1 3 2 4
output:
3 2 3 5 5
result:
ok 5 number(s): "3 2 3 5 5"
Test #2:
score: 0
Accepted
time: 2ms
memory: 5668kb
input:
4 5 5 6 7 8 1 2 2 3 3 4 1 3 2 4
output:
3 3 3 6 6
result:
ok 5 number(s): "3 3 3 6 6"
Test #3:
score: 0
Accepted
time: 2ms
memory: 5832kb
input:
10 10 3 7 3 1 6 6 10 3 3 3 9 10 5 10 3 7 5 6 5 6 9 10 3 10 1 4 6 6 1 4
output:
2 18 14 2 2 2 33 10 1 10
result:
ok 10 numbers
Test #4:
score: 0
Accepted
time: 2ms
memory: 5660kb
input:
10 8 91 63 1 34 50 11 10 73 96 67 5 9 2 7 2 5 4 7 1 10 3 3 1 4 5 10
output:
15 21 10 10 55 1 10 21
result:
ok 8 numbers
Test #5:
score: 0
Accepted
time: 0ms
memory: 5664kb
input:
10 6 9 539 285 408 615 861 951 413 319 368 4 4 8 10 1 7 3 9 2 3 2 10
output:
1 6 28 28 3 45
result:
ok 6 numbers
Test #6:
score: 0
Accepted
time: 0ms
memory: 5568kb
input:
10 6 1348 7002 4687 6325 8253 5750 2464 5509 6543 8704 3 9 4 8 8 8 8 9 2 9 9 10
output:
28 15 1 3 36 3
result:
ok 6 numbers
Test #7:
score: 0
Accepted
time: 2ms
memory: 5804kb
input:
10 8 59041 28802 92255 14246 65768 79252 70656 81265 98363 85237 1 6 9 10 4 7 6 8 9 10 1 2 1 3 4 5
output:
21 3 10 6 3 3 6 3
result:
ok 8 numbers
Test #8:
score: 0
Accepted
time: 2ms
memory: 5664kb
input:
10 7 28607 249948 373828 584253 989446 308313 199311 253174 283937 133758 2 4 1 2 4 9 7 8 7 8 2 6 1 1
output:
6 3 21 3 3 15 1
result:
ok 7 numbers
Test #9:
score: 0
Accepted
time: 2ms
memory: 5664kb
input:
100 98 6 9 6 10 8 10 3 4 7 5 4 10 2 10 4 5 2 1 7 1 3 1 4 1 1 2 6 9 3 10 2 5 3 2 6 2 1 7 7 6 5 4 2 5 3 2 7 2 6 2 9 7 10 7 4 2 9 3 3 7 9 1 4 9 6 1 5 5 8 3 7 5 8 3 9 5 8 7 8 6 6 3 2 3 8 1 8 1 5 9 1 8 6 3 3 7 10 6 5 5 48 72 14 46 23 28 37 84 1 65 45 72 9 19 9 81 37 53 47 50 25 26 26 88 51 54 53 69 22 94...
output:
316 534 20 1144 2054 394 64 2596 149 10 3 1944 10 148 2598 35 169 6 28 318 605 2964 366 4571 2815 130 1220 52 160 2964 129 3040 793 1491 89 1932 227 64 77 420 332 646 267 1081 902 956 2668 2191 449 149 223 5 3763 1312 102 1221 578 2188 289 681 367 960 1 226 151 720 116 101 3348 905 132 1 88 1140 199...
result:
ok 98 numbers
Test #10:
score: 0
Accepted
time: 2ms
memory: 5608kb
input:
100 96 78 64 64 32 42 65 94 54 35 27 83 6 6 90 86 45 93 72 56 80 5 31 91 87 56 10 100 79 53 69 98 93 79 28 89 5 14 4 12 100 50 98 99 6 29 38 85 37 34 85 15 76 73 7 91 93 28 10 74 23 96 77 27 84 21 79 62 69 14 81 18 93 1 23 11 1 13 72 8 91 11 45 50 67 21 42 55 44 95 57 4 85 17 96 84 46 22 56 19 58 1 ...
output:
2761 1029 4167 3989 28 90 626 625 2614 494 942 626 253 2200 171 3389 250 4539 251 941 558 55 3308 251 1372 349 55 662 2688 737 378 66 699 136 2335 44 90 151 856 626 1270 45 1121 815 406 1477 77 228 525 1760 45 210 629 2070 66 1760 9 463 15 1220 557 591 190 699 463 28 816 1076 118 44 492 44 1942 2616...
result:
ok 96 numbers
Test #11:
score: 0
Accepted
time: 2ms
memory: 5836kb
input:
100 98 354 899 868 821 878 486 413 896 872 129 97 801 838 279 971 756 250 24 245 883 731 887 106 204 381 204 678 33 340 987 80 662 845 955 39 654 989 24 105 822 704 690 573 800 243 372 939 338 986 246 983 445 196 931 290 150 610 635 809 496 779 722 596 920 67 16 391 728 575 975 469 413 82 768 680 43...
output:
21 741 21 253 1275 325 465 703 3 276 105 495 465 3 136 1224 1652 1 66 780 253 1225 2484 55 1484 120 528 1175 1484 45 300 496 1378 3239 465 1 190 630 2850 1830 1952 325 3 1 36 1325 153 435 231 1225 406 6 153 465 28 105 351 666 1769 253 2211 1891 819 406 2345 496 1830 21 528 300 2628 10 2016 6 1710 10...
result:
ok 98 numbers
Test #12:
score: 0
Accepted
time: 3ms
memory: 5860kb
input:
100 98 4940 7560 6878 1066 6510 7648 7900 5423 1384 5142 6451 2335 6486 5411 5312 3059 1974 7844 4678 9963 926 8585 6379 1352 179 919 4870 3315 1907 8327 519 9396 1628 9268 7695 9932 9154 1056 2772 3916 4397 5712 5614 7771 2968 6540 6205 2692 6900 3920 6688 2278 7843 7293 8751 5538 2638 6424 5234 27...
output:
861 351 528 2415 21 1176 2278 78 3 45 465 903 55 1035 45 171 190 120 2145 105 3 465 28 703 3570 210 66 3081 861 561 15 1081 2145 3 3 91 378 210 15 630 1596 666 990 703 66 55 45 820 55 1431 465 4186 78 276 153 136 3 231 2556 861 666 1540 300 15 15 325 2016 1128 2415 105 2850 496 55 55 1225 1770 780 2...
result:
ok 98 numbers
Test #13:
score: 0
Accepted
time: 3ms
memory: 5960kb
input:
100 98 79873 84742 75872 96693 10191 985 31311 53705 98909 81177 17919 79656 53853 81691 50226 50507 73858 61819 29518 85453 34982 53653 93823 31917 3269 21003 95730 52976 65728 25570 21628 88764 20155 36740 90961 65470 511 72479 12397 89701 31897 5413 84398 51940 52729 43338 40696 80980 67508 12297...
output:
2850 276 210 91 1891 1081 3 2485 946 2850 10 136 465 28 136 36 3741 496 1176 55 1378 45 45 465 105 2485 3 741 465 1596 1225 136 1891 1225 1378 231 351 3081 136 861 946 2278 45 1953 171 406 6 21 703 105 3570 6 91 703 1891 4278 741 105 210 1225 990 435 3828 66 1540 2080 91 3160 66 946 351 55 28 1378 2...
result:
ok 98 numbers
Test #14:
score: 0
Accepted
time: 3ms
memory: 6108kb
input:
100 97 870479 594266 17979 445914 279977 701082 808468 978143 124772 925808 486496 725792 13151 914792 840639 180601 194842 81935 895414 306762 943164 688186 185644 68600 41614 718973 668908 952621 806142 891060 222118 647764 302429 649853 411693 527647 102818 427196 466555 290753 496356 16854 65968...
output:
171 2016 1081 6 3 465 2278 1 2775 3570 703 36 1378 595 15 15 36 2016 4095 45 36 1128 630 3403 406 741 36 1830 1770 21 1711 1081 153 2926 2701 780 136 595 91 595 2926 210 15 36 1485 171 325 903 171 528 351 2628 1711 300 435 2775 190 78 3 1540 6 10 903 10 820 15 2278 2926 91 2346 496 210 1035 3655 122...
result:
ok 97 numbers
Test #15:
score: 0
Accepted
time: 1ms
memory: 5704kb
input:
1000 998 7 7 4 6 4 2 1 1 4 6 7 8 8 6 2 7 8 8 5 4 9 1 1 9 6 6 9 5 3 3 10 3 9 6 9 10 2 8 8 2 7 8 3 7 6 4 7 5 9 3 7 1 4 8 3 9 1 1 3 6 10 5 7 3 5 3 9 5 10 9 3 2 9 10 9 7 4 7 5 6 6 6 4 5 2 10 8 2 9 8 7 10 5 2 4 9 7 4 6 9 9 7 3 1 5 3 6 2 6 1 2 6 4 6 8 7 10 2 1 3 2 10 8 5 2 8 2 9 8 3 1 1 4 3 1 2 9 8 2 2 2 ...
output:
52639 55406 72778 54893 31854 3069 4317 385800 65839 83181 191315 12145 14934 27816 39539 80779 151139 242323 57860 14575 225042 8888 9297 130307 106835 20703 71224 46746 4052 2153 101782 16162 2619 2957 31847 145806 174061 63334 173537 124849 6000 38902 14911 17210 104593 14245 96191 41493 47304 73...
result:
ok 998 numbers
Test #16:
score: 0
Accepted
time: 1ms
memory: 5708kb
input:
1000 996 51 45 23 20 19 16 22 67 57 30 61 32 80 46 38 76 62 6 22 74 7 25 20 16 70 78 100 47 39 39 17 63 46 2 11 28 75 51 58 47 12 32 66 62 7 8 57 59 100 29 32 81 11 90 26 16 88 57 39 52 10 6 94 5 93 70 67 26 75 37 6 98 51 88 11 29 97 28 36 41 63 62 66 82 8 32 52 17 95 46 14 2 60 51 15 54 20 80 63 78...
output:
2402 70241 57082 16389 460411 87228 24207 6081 29295 464 23109 1029 76305 816 21438 281265 5750 28316 24211 209 20626 70231 67599 16767 76337 75565 95332 69830 79912 23995 104667 156491 1704 8737 115967 173075 191139 26702 9830 363626 147079 54719 402035 75144 126292 1426 36965 114954 395816 23565 8...
result:
ok 996 numbers
Test #17:
score: 0
Accepted
time: 2ms
memory: 5720kb
input:
1000 1000 646 746 291 354 931 823 84 484 142 439 893 10 999 669 753 794 503 753 459 997 46 375 445 106 365 862 458 833 445 387 76 536 430 347 87 577 649 308 764 674 799 229 623 259 159 105 385 108 380 808 79 149 972 318 377 260 555 835 915 882 542 73 647 190 864 41 850 361 937 318 659 392 18 15 279 ...
output:
1430 147618 3569 106439 56590 12244 189327 6782 5250 7996 32359 122703 4464 84206 11320 210 265961 45 40450 33914 29383 19295 45 20296 171310 350 5050 5459 2413 2483 313084 55 6104 4003 3399 14019 28190 37926 230743 73497 199922 7136 28 60348 49120 3485 5993 18903 39035 78159 1225 2016 90473 3398 18...
result:
ok 1000 numbers
Test #18:
score: 0
Accepted
time: 2ms
memory: 5960kb
input:
1000 996 8525 156 5909 2878 6958 7610 1178 9088 2285 9626 2329 4812 7629 3037 137 9397 6502 8279 1731 3105 9715 1633 2117 3898 3588 7368 3409 8272 8877 7020 3515 6534 4005 4434 2286 1872 4184 3778 1591 3435 6662 5849 9512 2133 9650 6969 7399 2641 2915 8740 1741 7508 5142 725 2919 795 7227 951 5816 4...
output:
2774 314807 102376 102828 67160 946 9180 45147 7260 95701 22363 130298 296058 189413 434 178495 496 3321 74688 210269 415402 4465 3239 27729 147148 365073 51678 51357 214833 153731 53299 206396 10 165594 4753 861 207037 41038 595 13203 22578 9453 5565 216144 1325 5886 38501 232896 239076 44549 64976...
result:
ok 996 numbers
Test #19:
score: 0
Accepted
time: 0ms
memory: 7580kb
input:
1000 1000 84503 47470 36151 1858 36249 70169 49861 23790 35769 8439 88417 71033 66247 75932 99021 37885 31352 95044 12591 22229 15973 34090 89843 90849 8105 73586 21126 71812 99271 37888 96412 10917 90177 97694 61228 93073 38114 5338 45007 34968 34005 30117 13124 52363 78732 62645 91983 28612 59738 ...
output:
14365 8911 103284 419068 177308 400063 27028 24090 113049 23871 108810 147152 61775 19701 70124 185743 8385 13203 18720 94394 32640 294527 116402 1377 61075 18145 6105 181501 14364 230179 229501 51680 38781 27028 223445 12561 9180 35510 946 13202 77814 30134 120 64619 4753 227474 26796 9180 51360 22...
result:
ok 1000 numbers
Test #20:
score: 0
Accepted
time: 1ms
memory: 9048kb
input:
1000 996 746942 404907 332060 103389 714995 191748 291638 567887 616738 977031 744755 722024 161175 130095 536035 832948 690949 949370 585465 522053 135872 80107 410575 81582 350148 701001 893405 945609 218476 156318 980102 679602 305916 69753 993868 58954 182232 838189 163478 207221 773514 775184 3...
output:
55611 225456 225456 96580 125250 123752 15225 17766 105 25425 106030 18721 1081 46056 194376 44850 42778 4186 28441 10878 9870 8911 93961 162165 138601 213530 21736 9045 38781 136503 155961 15753 1431 1891 2850 2628 91 7021 247455 6441 23005 13695 4950 5151 33930 408154 348194 1176 4560 8911 259559 ...
result:
ok 996 numbers
Test #21:
score: 0
Accepted
time: 6ms
memory: 6056kb
input:
10000 9998 4 4 2 4 10 1 2 5 6 9 6 5 1 3 2 5 8 2 8 2 4 10 4 5 9 10 5 8 10 9 8 2 6 5 1 9 9 9 3 8 2 10 2 9 9 6 6 8 3 1 8 8 2 2 7 8 5 10 3 8 1 10 7 9 9 4 6 3 6 7 1 10 10 5 3 1 1 1 8 4 9 2 10 4 9 10 7 4 5 8 7 2 2 9 8 3 10 3 6 1 10 3 6 8 5 3 4 7 3 10 4 10 1 1 5 8 4 1 3 4 1 3 7 8 3 7 8 7 7 10 8 8 2 10 3 6 ...
output:
2779466 9999779 11467133 12073630 2011120 7323966 4641158 1640774 5405330 37916892 21735043 2595016 13445086 166598 25802701 2644660 10345663 117002 22646598 15449461 30073792 2165316 479112 27674363 6118 58536 14368526 3888733 10958242 5532232 4160075 1338837 8400565 1691228 6817238 39887970 168909...
result:
ok 9998 numbers
Test #22:
score: 0
Accepted
time: 6ms
memory: 5812kb
input:
10000 9998 57 61 48 89 70 22 44 53 15 21 39 35 22 2 44 56 20 65 56 96 30 12 54 44 15 26 26 85 32 69 94 71 74 5 52 79 76 3 62 30 93 71 64 3 23 54 10 21 95 60 72 59 38 79 52 34 47 63 91 14 10 28 76 58 31 59 72 27 29 53 76 73 84 75 62 2 55 64 48 48 58 98 40 100 85 29 98 2 24 78 49 34 73 13 99 98 41 80 ...
output:
15504071 8968251 8837864 137553 270132 21253368 20581528 1389966 762629 4106693 40957475 10568614 7039504 16612967 435851 7001774 27772298 2088030 4274162 11601741 4100905 216607 718955 4747671 123316 9815828 412910 3683280 32631864 375690 18815400 766456 36161 12274830 3825529 11804632 7084234 1401...
result:
ok 9998 numbers
Test #23:
score: 0
Accepted
time: 9ms
memory: 5952kb
input:
10000 9996 359 366 421 622 989 569 505 963 287 914 908 613 82 83 787 690 854 233 234 440 785 902 991 427 778 415 236 115 566 7 464 179 407 714 286 124 96 875 780 608 786 407 438 312 19 111 841 886 241 578 160 947 883 520 107 610 481 848 139 956 567 451 319 114 797 431 481 862 554 437 354 514 405 75 ...
output:
9865 7390239 1022661 2580896 5667231 52305 2245016 37423120 737145 7638318 11560045 1522683 19368876 10789680 719058 8398812 289799 4714707 6190356 2485 9668712 2074697 2015 678845 15010616 29204820 14667423 7180351 6605297 2249237 5881251 3154735 5299864 6977252 21437451 17018310 6371168 65313 7827...
result:
ok 9996 numbers
Test #24:
score: 0
Accepted
time: 9ms
memory: 6204kb
input:
10000 10000 7067 4574 6344 6147 2725 5748 2099 8177 7208 4751 5086 8714 7864 5885 1098 319 9241 4672 2993 4388 7030 3343 4268 3010 4619 9509 9661 3190 3706 896 5143 4176 4938 180 3169 9669 3299 6198 9654 8861 4355 7842 6712 9717 5804 805 6920 894 5412 4867 1344 8413 3012 3730 6569 1353 634 2925 1093...
output:
158201 3716775 561 24875204 248860 31731615 551754 70122 129285 4564588 190 2394681 4561583 14169433 651496 1847934 6805976 3252430 9428353 8884952 112570 10046102 1549628 190 13007157 63186 1653 20489011 384121 744774 15011989 3272875 4683199 11919060 963946 15055896 17793050 30267207 412672 988981...
result:
ok 10000 numbers
Test #25:
score: 0
Accepted
time: 11ms
memory: 8032kb
input:
10000 9996 47386 88111 73076 14985 48076 41366 16872 98608 4274 20055 56782 47462 26475 21030 20440 93505 80536 36474 2233 21499 92546 97039 98123 12049 35537 2564 92938 81701 37877 11262 64822 42333 22689 41188 48501 23521 92587 57217 72559 62433 96462 36613 22832 2668 32393 75876 1322 36858 41661 ...
output:
169070 2241894 20527940 26787411 2671499 19900 5083248 16310544 18171329 21147654 40207859 17301824 1743765 14021107 395604 7146061 10 1628101 398276 1595779 2122819 1396950 2081813 184527 263900 131840 2990222 4186 3472910 1145339 14228394 784374 1658924 210924 11141511 2069583 16339113 9730 873823...
result:
ok 9996 numbers
Test #26:
score: -100
Wrong Answer
time: 9ms
memory: 19292kb
input:
10000 9999 744721 94761 309366 737099 458413 8426 926053 708683 218563 236767 579735 656019 620559 408611 838507 811567 198449 191504 341666 692844 319660 464456 640545 661662 197352 74992 66419 510555 966577 33519 465860 408062 660597 4979 286887 314085 439753 237804 48912 590324 363941 368080 2906...
output:
-657545 7021 4311212 12981909 -400053 24245428 23007674 10201946 -1554718 -2308341 865703 8858989 -1818924 -261149 -2735221 147493 24833306 12880 -463502 -659274 -1885108 -2439067 -334677 -2346368 -521381 7365575 15590329 54013 4484425 2133116 -1890902 -2436777 13440892 19515003 7742892 -971209 -281...
result:
wrong answer 1st numbers differ - expected: '9221363', found: '-657545'