QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#446150#3276. 出题高手lcs08020650 951ms20500kbC++141.9kb2024-06-16 22:41:132024-06-16 22:41:14

Judging History

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

  • [2024-06-16 22:41:14]
  • 评测
  • 测评结果:50
  • 用时:951ms
  • 内存:20500kb
  • [2024-06-16 22:41:13]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define N 100005
using namespace std;

int gcd(int x,int y){return y==0?x:gcd(y,x%y);}

int n,m,a[N*5],sum[N*5];
struct node{
	int x,y;
}tr[N*4],ans[N];
vector<node>qr[N];
bool operator < (node x,node y){
	if(x.y==0||y.y==0)return x.y==0;
	return x.x*y.y<y.x*x.y;
}
node Max(node x,node y){
	return (x<y)?y:x;
}

void upd(int x,int l,int r,int t,node val){
	if(l==r){
		tr[x]=Max(tr[x],val);return;
	}
	int mid=l+r>>1;
	if(mid>=t)upd(x<<1,l,mid,t,val);
	else upd(x<<1|1,mid+1,r,t,val);
	tr[x]=Max(tr[x<<1],tr[x<<1|1]);
	return;
}
node query(int x,int l,int r,int tl,int Tr){
	if(l>Tr||r<tl)return (node){0,0};
	if(l>=tl&&r<=Tr)return tr[x];
	int mid=l+r>>1;
	return Max(query(x<<1,l,mid,tl,Tr),query(x<<1|1,mid+1,r,tl,Tr));
}

signed main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;++i)scanf("%lld",&a[i]),sum[i]=sum[i-1]+a[i];
	scanf("%lld",&m);
	for(int i=1,x,y;i<=m;++i){
		scanf("%lld%lld",&x,&y);
		qr[x].push_back((node){i,y});
	}
	if(m==1){
		node Ans=(node){0,1};
		for(int i=n;i>=1;--i){
			if(a[i]==0)continue;
			for(int j=i;j<=n;++j){
				if((sum[j]-sum[i-1]<0)!=(a[i]<0))break;
				if(j-i+1>400)break;
				node val=(node){(sum[j]-sum[i-1])*(sum[j]-sum[i-1]),j-i+1};
				Ans=Max(Ans,val);
			}
		}
		int x=gcd(Ans.x,Ans.y);
		printf("%lld %lld",Ans.x/x,Ans.y/x);
		return 0;
	}
	for(int i=1;i<=n*4;++i)tr[i]=(node){0,0};
	for(int i=n;i>=1;--i){
		if(a[i]==0){
			upd(1,1,n,i,(node){0,1});
		}
		else{
			for(int j=i;j<=n;++j){
				if((sum[j]-sum[i-1]<0)!=(a[i]<0))break;
				if(j-i+1>1500)break;
				node val=(node){(sum[j]-sum[i-1])*(sum[j]-sum[i-1]),j-i+1};
				upd(1,1,n,j,val);
			}
		}
		for(int j=0;j<qr[i].size();++j){
			ans[qr[i][j].x]=query(1,1,n,i,qr[i][j].y);
			int X=gcd(ans[qr[i][j].x].x,ans[qr[i][j].x].y);
			ans[qr[i][j].x].x/=X;ans[qr[i][j].x].y/=X;
		}
	}
	for(int i=1;i<=m;++i)printf("%lld %lld\n",ans[i].x,ans[i].y);
	return 0;
}

詳細信息

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 32ms
memory: 13964kb

input:

2000
-113 314 -664 697 211 -199 -38 -190 8 -661 910 -811 -113 942 77 433 -261 -368 129 -525 968 -608 -21 38 -562 438 -935 -228 220 333 985 -430 916 586 764 476 794 664 383 503 206 -60 380 -130 -988 -904 -996 -304 -286 31 114 119 850 -942 714 -369 -842 250 -192 -462 -727 -427 -602 126 231 718 121 559...

output:

54826875 11
14638276 7
1185921 1
81018001 24
6310144 3
12545764 5
3362000 1
23068809 8
23068809 8
12545764 5
1444908 1
5424241 3
1083603 1
2140369 1
2752281 2
3095072 1
3003289 2
4959529 2
17106496 13
4780232 1
89605156 31
8543929 4
129163225 48
5094049 2
68591524 23
8543929 4
35688676 11
3775249 1
...

result:

ok 200000 numbers

Test #2:

score: 0
Accepted
time: 41ms
memory: 12800kb

input:

2000
717 273 112 -879 -487 -164 -403 -895 391 721 223 895 -34 146 -779 -84 253 44 690 716 975 -625 844 731 204 457 -790 349 -739 610 -536 -561 721 -868 -967 68 729 878 672 -158 -395 -836 383 -634 -371 -262 -443 -123 -20 354 198 171 681 -390 -964 954 735 713 -904 -900 -522 561 -639 -86 326 -479 448 -...

output:

82773604 23
58201641 20
2289169 1
40500496 19
1849372 1
12759184 5
2896804 1
14775048 7
7636232 5
1806005 1
3179089 2
26388769 16
1638050 1
2778889 2
156275001 49
17181522 7
2289169 1
6817321 3
758912 1
40500496 19
4941729 2
8276763 5
5841889 3
3250809 2
1806005 1
2289169 1
156275001 49
9684544 5
25...

result:

ok 200000 numbers

Test #3:

score: 0
Accepted
time: 42ms
memory: 13536kb

input:

2000
-851 -108 -432 344 -251 251 529 923 363 -346 416 -296 -686 832 565 66 150 -492 70 0 -977 -275 -454 -409 -979 353 -511 -458 -403 632 250 -689 -15 773 664 -386 931 -866 436 -213 711 -961 662 -849 -286 -143 -7 -933 960 -523 135 -609 86 408 643 -147 437 411 -580 -184 735 -968 417 977 863 325 518 83...

output:

15984004 5
2520500 1
49900050 19
28451556 13
12830724 5
2975625 2
24157225 11
1733522 1
11909401 4
15864289 5
8487200 3
1733522 1
1733522 1
6993800 3
15721225 6
1937664 1
3411409 2
11377129 5
2849344 3
1594323 1
15984004 5
15864289 5
7557001 6
2050624 1
2286387 1
1733522 1
49900050 19
5320322 3
3910...

result:

ok 200000 numbers

Test #4:

score: 0
Accepted
time: 38ms
memory: 12496kb

input:

2000
269 60 -850 537 -525 -153 877 649 998 -864 -642 -77 -69 -127 537 315 -521 -922 -629 277 162 -541 659 -572 -542 -203 -997 494 364 156 276 -780 -274 94 -410 -215 -700 -840 -906 352 972 -61 824 -973 841 80 -180 634 496 -111 934 -692 328 151 297 -13 -465 380 450 -324 -367 40 318 -447 -820 -340 -107...

output:

41190724 9
1872300 1
3530641 1
12061729 7
17032129 6
7873636 3
21641104 7
100876808 37
7946761 5
10246401 4
1836025 1
12061729 7
1836025 1
2490010 1
1687500 1
7946761 5
3613801 2
14768649 5
11404129 5
7873636 3
22033636 15
10246401 4
10067929 4
1453248 1
41190724 9
9006001 5
1718658 1
5428900 3
4452...

result:

ok 200000 numbers

Test #5:

score: 0
Accepted
time: 40ms
memory: 13104kb

input:

2000
599 530 -362 736 -402 -252 901 -481 318 -100 716 -726 221 -887 217 455 -516 -948 -10 -963 -373 42 -968 -949 -440 -643 -649 35 197 64 -141 -465 -975 -804 -735 -847 396 100 -131 219 543 571 -566 653 -308 725 105 668 -509 416 309 -945 260 -302 -704 -914 -648 495 -595 32 -831 -607 -104 373 -810 -12...

output:

1154640400 203
2812329 1
11826721 4
35224225 11
3276726 1
74528689 18
11539609 5
24433249 12
1431432 1
17884441 6
51739249 12
2339280 1
1565001 1
2354988 1
3276726 1
1920800 1
11539609 5
21846050 11
964324 1
11548332 5
5433561 4
142324900 29
31102929 17
35224225 11
1569992 1
8720209 4
8892324 5
6165...

result:

ok 200000 numbers

Subtask #2:

score: 15
Accepted

Test #6:

score: 15
Accepted
time: 15ms
memory: 12860kb

input:

100000
754 792 -680 426 425 347 481 -690 530 378 73 -907 -431 45 -530 -552 440 -890 -15 712 695 -679 -310 13 718 805 193 -291 -877 -74 -355 511 -679 -395 166 -710 -657 -19 874 26 832 507 854 -289 700 -404 472 -302 -977 8 -698 40 766 705 369 838 700 -964 552 -535 -75 -608 -181 -503 468 447 772 904 -2...

output:

466344025 67

result:

ok 2 number(s): "466344025 67"

Test #7:

score: 0
Accepted
time: 11ms
memory: 9788kb

input:

100000
-387 -313 -47 -714 -74 239 8 591 541 -633 -660 981 -230 -148 -813 -802 -108 -543 -640 50 962 137 -972 -936 -975 885 793 -541 932 861 -348 885 -280 -977 -677 964 355 604 54 -977 -548 979 -516 136 437 -697 -23 -748 492 897 -538 785 617 -840 675 -978 307 -288 -493 682 678 -623 613 762 -622 -283 ...

output:

2417885584 385

result:

ok 2 number(s): "2417885584 385"

Test #8:

score: 0
Accepted
time: 11ms
memory: 14068kb

input:

100000
-127 303 92 -235 -794 293 -272 199 -175 693 -799 -750 -501 -283 -358 -657 -867 -152 -399 -299 530 -5 285 959 390 -928 617 -478 -889 -133 -492 -855 986 -664 -984 -690 887 -738 39 -570 -268 -767 640 883 711 -748 -75 426 -268 -541 -926 -792 902 214 561 -428 -285 781 -225 -299 -233 134 -896 569 -...

output:

202236841 30

result:

ok 2 number(s): "202236841 30"

Test #9:

score: 0
Accepted
time: 11ms
memory: 10504kb

input:

100000
-340 -696 48 -515 -584 -60 -888 257 214 -889 782 915 905 -964 -536 459 779 -519 -338 -867 622 -902 655 -153 600 -117 269 -887 -242 -985 -267 132 406 98 -368 400 -871 -908 -489 118 -140 -755 -869 -943 965 609 47 -748 194 -160 994 527 871 119 -891 580 -687 865 826 56 -978 -775 -47 792 313 -944 ...

output:

272184004 39

result:

ok 2 number(s): "272184004 39"

Test #10:

score: 0
Accepted
time: 11ms
memory: 10196kb

input:

100000
-736 -691 738 209 -411 -136 792 -110 -441 -753 254 744 -958 -317 312 856 245 995 912 87 -830 131 393 37 -400 934 279 -784 -308 618 -647 967 527 -162 -874 -770 188 -917 -855 772 482 -373 -749 -40 80 -459 710 -354 221 -343 -132 -947 -445 62 -744 851 848 554 -530 -892 -721 -910 -642 -138 -480 -7...

output:

393070276 51

result:

ok 2 number(s): "393070276 51"

Subtask #3:

score: 30
Accepted

Test #11:

score: 30
Accepted
time: 63ms
memory: 14668kb

input:

500000
794 -75 -596 -322 -945 -908 -609 -164 488 626 -877 -710 140 -120 -475 -837 738 669 634 -643 -682 667 816 -785 -608 -836 -860 -932 242 70 -620 268 -121 288 209 -392 732 750 558 -480 565 327 -217 -891 767 211 -690 -66 813 -889 952 615 432 19 411 800 678 718 522 422 940 -510 -544 449 -357 640 40...

output:

1878442281 242

result:

ok 2 number(s): "1878442281 242"

Test #12:

score: 0
Accepted
time: 69ms
memory: 15468kb

input:

500000
145 33 695 -456 761 -556 698 272 121 -445 100 -93 954 485 161 798 -279 921 456 570 151 -880 456 -640 -69 385 -301 -707 -84 -514 -964 597 874 346 841 274 -727 -177 -44 -883 903 -792 -776 926 416 -862 -247 -985 518 674 174 535 -295 960 -952 722 -947 -365 366 -520 -60 -404 800 811 -139 779 735 3...

output:

457831609 56

result:

ok 2 number(s): "457831609 56"

Test #13:

score: 0
Accepted
time: 67ms
memory: 14124kb

input:

500000
762 -391 336 983 -962 920 -428 955 487 -525 281 514 851 -508 607 153 -439 -307 345 557 -615 -997 272 813 -556 -69 -401 -625 143 -142 -499 380 749 613 -190 173 -633 -489 -285 183 -799 645 -863 379 169 -177 993 -184 753 346 58 770 254 705 -467 -700 -337 587 -333 685 -1 -618 -961 327 -33 -722 65...

output:

1160015481 110

result:

ok 2 number(s): "1160015481 110"

Test #14:

score: 0
Accepted
time: 63ms
memory: 14852kb

input:

500000
-819 -236 -303 662 -316 -328 51 821 717 -423 -565 -394 858 -816 -246 -993 831 -999 237 779 52 -642 826 945 307 -675 83 -715 -797 -451 -250 996 53 -765 -869 -717 -126 -250 532 -848 82 -100 542 80 798 701 -648 -433 234 362 462 -770 554 -211 -368 -653 897 -940 416 632 734 -18 727 319 -328 697 11...

output:

188897536 23

result:

ok 2 number(s): "188897536 23"

Test #15:

score: 0
Accepted
time: 68ms
memory: 15216kb

input:

500000
-161 619 -969 31 102 781 561 617 -685 -814 385 -998 911 -206 -404 519 276 -318 -731 -908 901 856 839 333 124 481 29 407 -315 -219 896 956 -286 996 -991 -800 951 109 -846 624 750 -88 955 -752 -814 134 -316 -777 844 391 359 -324 789 -713 -620 849 -553 575 357 792 -735 -828 373 378 -213 -501 -29...

output:

167832025 17

result:

ok 2 number(s): "167832025 17"

Subtask #4:

score: 0
Wrong Answer

Test #16:

score: 15
Accepted
time: 943ms
memory: 17052kb

input:

100000
-496 -233 354 -632 -196 177 -878 -255 -19 -636 685 -70 101 -975 -406 -988 -965 -205 563 -766 763 511 -116 -746 -129 14 106 928 -457 -257 -283 226 3 899 -359 -792 615 490 -57 986 -243 624 -239 931 -555 -821 -72 -611 -380 -397 248 -132 956 -195 -322 -231 319 -214 837 -379 -931 -301 -4 -673 280 ...

output:

1352474176 205
13957947 4
67914081 16
33243858 7
10885778 3
27836176 7
50680161 11
235284921 74
106770889 25
2411809 2
2835045 1
14017536 5
134699236 43
286523329 74
28100601 11
17546888 5
23396569 6
80839443 25
4012009 3
2661336 1
42947912 11
3474284 1
61496964 19
3672245 1
6120676 3
7573504 3
1489...

result:

ok 10000 numbers

Test #17:

score: 0
Accepted
time: 951ms
memory: 17052kb

input:

100000
-869 53 -81 127 179 138 -838 925 306 178 -55 -225 -567 534 949 -510 713 -280 -889 370 708 258 -726 -235 17 41 51 -405 -889 647 -308 997 -219 84 -271 662 -139 -492 979 -103 -624 732 606 -629 -40 242 231 -23 -332 524 -963 -991 366 790 691 902 536 476 -799 959 150 931 794 -601 794 942 598 148 11...

output:

84621601 13
58094884 11
119880601 30
101929216 29
146482609 33
214066161 52
223353025 54
491996761 112
12616704 5
1132096 1
6633507 2
45603009 14
89397025 26
665898025 103
61449921 19
5938947 2
13069100 3
44382244 11
9834496 5
3317760 1
18037009 6
35162498 11
4385829 1
27331984 7
48135844 13
6473883...

result:

ok 10000 numbers

Test #18:

score: 0
Accepted
time: 901ms
memory: 17080kb

input:

100000
-640 205 550 38 938 622 -23 525 -242 554 772 -491 -11 -567 -243 -59 -449 449 -691 805 -822 -486 111 -166 -379 994 645 704 197 -932 654 -349 382 60 -101 -872 -506 645 453 736 -699 965 -988 -149 758 891 -595 772 648 545 122 3 -239 523 -140 996 612 793 -883 932 809 -285 228 873 371 739 648 616 7...

output:

130553476 17
5112121 3
502681 1
210665405 39
739600 1
28504921 7
6956450 3
8898289 4
418609 1
765075600 109
2512225 1
21451250 7
21635042 5
45212176 11
312865344 49
3682561 2
380689 1
451584 1
3195392 1
1909620 1
1973163 1
35343025 8
11546404 7
82150562 25
80209936 23
82210489 15
1723969 2
141376 1
...

result:

ok 10000 numbers

Test #19:

score: 0
Accepted
time: 873ms
memory: 17080kb

input:

100000
762 -774 -441 -718 454 -111 -614 526 363 545 308 -159 572 -894 967 299 -866 -201 -553 -312 -634 365 265 25 308 -232 -380 -361 654 656 -522 -815 -18 955 -954 -854 111 879 -575 753 -996 885 -188 389 478 -11 -437 0 -546 289 -266 708 566 -932 -843 -38 -531 440 227 857 -697 -109 371 96 70 -271 -3 ...

output:

52654322 9
52654322 9
12180100 7
444830281 67
1944075 1
101124 1
20079361 5
39463524 11
51825601 20
1678112 1
23726641 6
5896178 3
6436369 3
15961250 3
354025 1
9006001 6
12082576 5
312936100 63
123187801 24
11135569 4
26122321 5
48986001 8
205434889 34
1860500 1
87781250 17
145226601 31
444830281 6...

result:

ok 10000 numbers

Test #20:

score: 0
Accepted
time: 890ms
memory: 20500kb

input:

100000
227 -437 -47 722 -894 -928 -542 859 -798 -393 -429 -319 -432 106 -732 -793 420 542 -313 -907 146 638 -169 618 873 -699 747 62 -977 983 275 194 -216 -511 647 960 1000 -712 -797 -299 53 458 -598 581 -251 770 965 214 382 135 21 547 747 -499 -564 -256 -517 635 788 -88 -919 302 201 -600 -588 47 -9...

output:

902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581849 123
902581...

result:

ok 10000 numbers

Test #21:

score: 0
Accepted
time: 928ms
memory: 20252kb

input:

100000
-389 -434 -758 -766 -641 -265 280 -682 623 228 -902 155 811 220 507 193 235 -915 432 -490 682 -941 -408 776 150 -691 239 -104 -728 430 -807 145 -700 224 -191 522 -839 -296 -266 885 -590 -189 705 49 456 -164 487 685 6 -919 -133 614 -311 -691 -388 47 -931 685 337 -935 386 902 -67 901 738 -562 7...

output:

6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
6146018 1
...

result:

ok 10000 numbers

Test #22:

score: 0
Accepted
time: 945ms
memory: 16908kb

input:

100000
131 387 494 -299 717 -866 200 944 -252 -202 -312 268 685 -816 -379 440 373 740 547 -731 -713 -810 -949 -80 124 -692 560 -270 -70 617 -911 -924 432 50 -736 -150 258 407 -387 960 108 684 -228 139 -975 -382 576 762 -359 629 -925 -548 134 517 -173 -21 -667 -490 -553 -313 -253 -127 836 227 636 425...

output:

318515409 41
91642329 13
91642329 13
318515409 41
318515409 41
318515409 41
318515409 41
318515409 41
91642329 13
91642329 13
91642329 13
91642329 13
91642329 13
318515409 41
91642329 13
91642329 13
318515409 41
91642329 13
91642329 13
318515409 41
91642329 13
91642329 13
91642329 13
318515409 41
91...

result:

ok 10000 numbers

Test #23:

score: 0
Accepted
time: 943ms
memory: 17056kb

input:

100000
-205 849 -540 641 -663 877 -418 -732 -236 701 611 -964 283 -841 619 -362 41 120 -982 -756 818 727 -237 249 940 786 139 46 666 -767 782 -749 -643 29 780 551 775 -307 508 133 334 120 639 570 886 845 -764 -162 -734 676 -84 -759 -751 775 -270 965 33 378 -14 -640 437 -381 -858 880 -673 816 561 -42...

output:

1266932836 159
10224242 3
4831204 3
17041122 5
2762244 1
63297936 19
12552849 4
14737921 8
102556129 45
6482116 3
243859456 55
2264645 1
27573001 7
2485125 1
65934400 19
149940025 46
5358132 1
22174681 8
1297321 2
149940025 46
15856324 5
711128889 160
41280625 12
238300969 94
436016161 85
72301009 1...

result:

ok 10000 numbers

Test #24:

score: -15
Wrong Answer
time: 911ms
memory: 17036kb

input:

100000
-197 -705 945 -782 638 -962 -76 880 -6 -680 -167 382 -93 -277 -191 -483 487 510 632 708 576 -450 -650 -541 -95 -604 -684 371 361 793 -723 -902 -428 543 540 -94 873 -24 507 625 473 -15 743 -915 -353 -967 -277 -89 -637 -849 -649 -653 -718 268 -208 -741 311 -447 364 308 151 -5 999 49 942 665 707...

output:

1787175625 188
77880625 21
17673616 7
62583921 19
256032001 58
11363641 4
3055392 1
219099204 49
79727041 21
756900 1
3007584 1
18879025 6
67782289 16
181090849 32
26776562 7
35319249 8
50979600 11
14691889 5
915849 1
3271840 1
110040100 29
150381169 43
10738729 4
66129424 17
4743684 1
12020089 4
75...

result:

wrong answer 541st numbers differ - expected: '13918572529', found: '8285914729'

Subtask #5:

score: 0
Time Limit Exceeded

Test #31:

score: 0
Time Limit Exceeded

input:

100000
139 -485 -497 -818 254 169 -560 22 377 -67 -243 -75 743 -788 -676 -26 -775 371 576 -303 54 733 422 800 445 687 479 -16 -288 259 783 -586 912 616 439 -416 676 -555 172 659 501 -868 337 22 -60 260 603 -982 -149 466 769 -595 -117 949 -544 904 753 20 776 175 -888 937 -792 -647 -615 59 -298 452 -6...

output:

401594700 47
401594700 47
401594700 47
2619187684 383
2619187684 383
401594700 47
401594700 47
401594700 47
401594700 47
153338689 31
2619187684 383
401594700 47
401594700 47
401594700 47
401594700 47
401594700 47
79758450 23
165868641 25
165868641 25
165868641 25
401594700 47
401594700 47
165868641...

result: