QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#672958#1429. HitFlamireRE 115ms14192kbC++172.6kb2024-10-24 20:01:342024-10-24 20:01:36

Judging History

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

  • [2024-10-24 20:01:36]
  • 评测
  • 测评结果:RE
  • 用时:115ms
  • 内存:14192kb
  • [2024-10-24 20:01:34]
  • 提交

answer

#include <bits/stdc++.h>
#define N 400011
using namespace std;
int t,n,l[N],r[N],m,ned[N],mnl[N];
bool dp[N];int w[N],tow[N][21];
vector<int> vv;
int nxt[N];
int getw(int u,int k)
{
	for(int i=18;~i;--i)if(~u&&(k>>i&1))u=tow[u][i];
	return u;
}
bool check(int X)
{
	// printf("============================check(X:%d)\n",X);
	for(int i=1;i<=m+1;++i)nxt[i]=w[i]=-1,dp[i]=0;
	for(int i=1;i<=m+1;++i)for(int j=0;j<=18;++j)tow[i][j]=-1;
	int lst=0;
	for(int i=1;i<=m+1;++i)
	{//printf(">>>>>>>>i:%d\n",i);
		if(!~ned[i])
		{
			// printf("<>no pre success\n");
			w[i]=tow[i][0]=-1;
			for(int j=1;j<=18;++j)tow[i][j]=-1;
			dp[i]=1;
			while(lst<i)nxt[++lst]=i;
			continue;
		}
		if(!~nxt[ned[i]])return 0;
		int u=nxt[ned[i]],v=getw(u,X-1);
		if(mnl[i]>v)
		{
			// printf("<>success w:%d\n",u);
			dp[i]=1;
			tow[i][0]=w[i]=u;
			for(int j=1;j<=18;++j)tow[i][j]=tow[tow[i][j-1]][j-1];
			while(lst<i)nxt[++lst]=i;
		}
	}
	// printf("dp:");for(int i=1;i<=m+1;++i)printf("%d ",dp[i]);putchar(10);
	// printf("w:");for(int i=1;i<=m+1;++i)printf("%d ",w[i]);putchar(10);
	return dp[m+1];
}
int main()
{
	scanf("%d",&t);while(t--)
	{
		scanf("%d",&n);vv.clear();
		for(int i=1;i<=n;++i)scanf("%d%d",l+i,r+i),vv.push_back(l[i]),vv.push_back(r[i]),vv.push_back(l[i]-1),vv.push_back(r[i]+1);
		// if(t==691)
		// {
		// 	printf("%d\n",n);
		// 	for(int i=1;i<=n;++i)printf("%d %d\n",l[i],r[i]);
		// }
		sort(vv.begin(),vv.end());vv.resize(unique(vv.begin(),vv.end())-vv.begin());
		m=vv.size();
		for(int i=1;i<=n;++i)
		{
			l[i]=lower_bound(vv.begin(),vv.end(),l[i])-vv.begin()+1;
			r[i]=lower_bound(vv.begin(),vv.end(),r[i])-vv.begin()+1;
		}
		// printf("new intervals:");for(int i=1;i<=n;++i)printf("[%d,%d] ",l[i],r[i]);putchar(10);
		for(int i=0;i<=m+1;++i)ned[i]=-1;
		for(int i=1;i<=n;++i)ned[r[i]+1]=max(ned[r[i]+1],l[i]);
		for(int i=1;i<=m+1;++i)ned[i]=max(ned[i],ned[i-1]);
		for(int i=1;i<=m+1;++i)mnl[i]=1e9;
		for(int i=1;i<=n;++i)mnl[r[i]]=min(mnl[r[i]],l[i]);
		for(int i=m;i;--i)mnl[i]=min(mnl[i+1],mnl[i]);
		// printf("ned:");for(int i=1;i<=m+1;++i)printf("%d ",ned[i]);putchar(10);
		// printf("mnl:");for(int i=1;i<=m+1;++i)printf("%d ",mnl[i]);putchar(10);
		int L=1,R=n,ans=0;
		while(L<=R)
		{
			int M=L+R>>1;
			if(check(M))ans=M,R=M-1;else L=M+1;
		}
		check(ans);
		int tt=w[m+1];
		static vector<int> res;res.clear();
		while(~tt)
		{
			res.push_back(vv[tt-1]);
			if(res.size()>m)for(;;);
			tt=w[tt];
		}
		reverse(res.begin(),res.end());
		printf("%d %d ",ans,(int)res.size());
		for(int x:res)printf("%d ",x);
		putchar(10);
	}
	fclose(stdin);fclose(stdout);return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 12160kb

input:

4
4
0 1
2 3
4 5
3 5
5
0 70
0 10
20 30
40 50
60 70
8
-1 7
-2 -1
-9 -7
-8 9
-9 -7
-2 4
-7 4
3 9
5
0 1
0 2
2 3
3 5
4 5

output:

1 3 0 2 4 
4 4 0 20 40 60 
2 3 -9 -2 3 
2 3 0 2 4 

result:

ok ok, tt = 4

Test #2:

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

input:

1
1
0 1

output:

1 1 0 

result:

ok ok, tt = 1

Test #3:

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

input:

3
1
-1000000000 1000000000
1
-1000000000 -999999999
1
999999999 1000000000

output:

1 1 -1000000000 
1 1 -1000000000 
1 1 999999999 

result:

ok ok, tt = 3

Test #4:

score: 0
Accepted
time: 46ms
memory: 14192kb

input:

100000
1
-755794993 -744839313
1
638832683 645984490
1
333736843 342792055
1
-412526164 -400411740
1
193156287 205856204
1
266085745 268256106
1
789502967 806620391
1
85305828 86560242
1
-655573585 -644094805
1
517734490 518776542
1
-966001098 -958188900
1
-780504491 -762439365
1
-896592598 -8804653...

output:

1 1 -755794993 
1 1 638832683 
1 1 333736843 
1 1 -412526164 
1 1 193156287 
1 1 266085745 
1 1 789502967 
1 1 85305828 
1 1 -655573585 
1 1 517734490 
1 1 -966001098 
1 1 -780504491 
1 1 -896592598 
1 1 -557316732 
1 1 664292314 
1 1 -629158110 
1 1 -202815742 
1 1 -640869188 
1 1 -229963066 
1 1 -...

result:

ok ok, tt = 100000

Test #5:

score: 0
Accepted
time: 46ms
memory: 14192kb

input:

100000
1
-392749917 -319069731
1
761382535 804248178
1
-858764838 -819815600
1
-87503649 -20800126
1
-69252318 64456029
1
-848092983 -666742404
1
-659061625 -620054847
1
-982031817 -883932130
1
-47104919 97672798
1
-494834028 -456770262
1
496748206 692802903
1
572757539 669651153
1
-484466016 -41314...

output:

1 1 -392749917 
1 1 761382535 
1 1 -858764838 
1 1 -87503649 
1 1 -69252318 
1 1 -848092983 
1 1 -659061625 
1 1 -982031817 
1 1 -47104919 
1 1 -494834028 
1 1 496748206 
1 1 572757539 
1 1 -484466016 
1 1 729473771 
1 1 -428804236 
1 1 212864606 
1 1 -381428604 
1 1 813986190 
1 1 -573957931 
1 1 -...

result:

ok ok, tt = 100000

Test #6:

score: 0
Accepted
time: 52ms
memory: 14120kb

input:

100000
1
-422738609 -95619025
1
496655203 761501973
1
-253341552 895113150
1
-213934938 560617332
1
257193179 510136024
1
-684784337 -650911183
1
-999254900 62633326
1
-627557633 641989470
1
-682383675 66116491
1
-859630523 340664034
1
-422590930 433070710
1
259879968 316877801
1
-90014752 991378355...

output:

1 1 -422738609 
1 1 496655203 
1 1 -253341552 
1 1 -213934938 
1 1 257193179 
1 1 -684784337 
1 1 -999254900 
1 1 -627557633 
1 1 -682383675 
1 1 -859630523 
1 1 -422590930 
1 1 259879968 
1 1 -90014752 
1 1 -789762673 
1 1 -750992244 
1 1 -964513526 
1 1 -723869577 
1 1 44144467 
1 1 -550241786 
1 ...

result:

ok ok, tt = 100000

Test #7:

score: 0
Accepted
time: 50ms
memory: 14116kb

input:

100000
1
-146170891 -135832850
1
-758721094 -739814745
1
434418655 436843128
1
584625787 597671579
1
-54920782 -48746711
1
-890924962 -874340357
1
-955254050 -945006677
1
276114326 279390556
1
-291805472 -288200984
1
673823575 685514644
1
-43237398 -31640268
1
-239622315 -224829882
1
-596965402 -595...

output:

1 1 -146170891 
1 1 -758721094 
1 1 434418655 
1 1 584625787 
1 1 -54920782 
1 1 -890924962 
1 1 -955254050 
1 1 276114326 
1 1 -291805472 
1 1 673823575 
1 1 -43237398 
1 1 -239622315 
1 1 -596965402 
1 1 -902355499 
1 1 262300444 
1 1 -172688572 
1 1 289036433 
1 1 106949065 
1 1 -733199280 
1 1 -...

result:

ok ok, tt = 100000

Test #8:

score: 0
Accepted
time: 51ms
memory: 14128kb

input:

100000
1
-938525664 -817076126
1
-932701889 -823854498
1
-198817321 -90954343
1
852989237 895167117
1
-657597128 -592296022
1
-189337058 -60845257
1
-308394755 -143079067
1
-798793040 -658589397
1
587269730 632505978
1
463959892 651681553
1
210139744 354710208
1
-738322653 -579254528
1
-473167271 -4...

output:

1 1 -938525664 
1 1 -932701889 
1 1 -198817321 
1 1 852989237 
1 1 -657597128 
1 1 -189337058 
1 1 -308394755 
1 1 -798793040 
1 1 587269730 
1 1 463959892 
1 1 210139744 
1 1 -738322653 
1 1 -473167271 
1 1 -719122089 
1 1 -135498368 
1 1 798473093 
1 1 772169233 
1 1 732432771 
1 1 -164220287 
1 1...

result:

ok ok, tt = 100000

Test #9:

score: 0
Accepted
time: 50ms
memory: 14128kb

input:

100000
1
-124550996 175843021
1
-993480749 369513273
1
-472345946 866834459
1
51146719 619481540
1
-953985291 -388861986
1
30060232 86153621
1
397966610 670657620
1
228037899 527397835
1
-328812046 777147616
1
528770087 999819348
1
-443642177 430027557
1
-985366041 937429463
1
286165886 375753871
1
...

output:

1 1 -124550996 
1 1 -993480749 
1 1 -472345946 
1 1 51146719 
1 1 -953985291 
1 1 30060232 
1 1 397966610 
1 1 228037899 
1 1 -328812046 
1 1 528770087 
1 1 -443642177 
1 1 -985366041 
1 1 286165886 
1 1 -553313072 
1 1 -22755036 
1 1 -586567462 
1 1 384242088 
1 1 59282828 
1 1 -787530941 
1 1 9754...

result:

ok ok, tt = 100000

Test #10:

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

input:

18139
4
-336270587 -330557331
-252002330 -239258910
-186846904 -186440987
848243159 868102416
3
-195461235 -180651308
-250893512 -232183484
741194405 748153230
1
-583374820 -573301094
2
-289487516 -278362438
-617984192 -600701104
3
361103576 377771047
-629713150 -625261223
760487909 765234419
2
-789...

output:

1 4 -336270587 -252002330 -186846904 848243159 
1 3 -250893512 -195461235 741194405 
1 1 -583374820 
1 2 -617984192 -289487516 
1 3 -629713150 361103576 760487909 
1 2 -789944592 -103045325 
1 1 756732794 
1 4 -428947266 -243873198 439377407 512729535 
1 3 -832490738 -677551837 366281659 
1 6 -86981...

result:

ok ok, tt = 18139

Test #11:

score: 0
Accepted
time: 70ms
memory: 14060kb

input:

18100
8
598403417 795720309
-373919856 -307381953
199626892 235156246
-217973856 -203235401
516184634 548146965
556458253 612829986
-686678416 -587302321
-251190508 -105682769
6
-526414856 -462880667
-734369052 -596753646
114814523 150451126
-10532542 21149560
-892168032 -828869761
-663573167 -62124...

output:

1 6 -686678416 -373919856 -217973856 199626892 516184634 598403417 
1 5 -892168032 -663573167 -526414856 -10532542 114814523 
1 1 265590649 
1 5 -974272520 -859851492 -694051917 -139444653 72700218 
1 6 -874717487 -726871981 430693526 566260856 729647776 963371105 
1 3 -812492493 -544715709 20872734...

result:

ok ok, tt = 18100

Test #12:

score: 0
Accepted
time: 56ms
memory: 14112kb

input:

18133
3
-532740766 -492922415
-745044455 -386840345
-749335013 -565459391
5
-534228433 657736275
688238957 974882583
-927059249 -173514637
-821264333 -27208503
-637987799 201098089
2
-183611012 812265988
360179783 519406660
1
363751319 483623678
5
-417328703 863569501
-593491816 -478939136
-23407126...

output:

1 2 -749335013 -532740766 
1 2 -534228433 688238957 
1 1 360179783 
1 1 363751319 
1 2 -593491816 -194800056 
1 3 -958375053 -289803680 592717413 
1 1 -524868351 
2 4 -887619616 308683350 635083287 920526346 
2 2 -466910044 175225091 
1 2 -759804786 -583969466 
2 2 -287026922 155525336 
1 4 -9395422...

result:

ok ok, tt = 18133

Test #13:

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

input:

10000
10
-161942485 -159394105
705139634 709295587
-483286727 -481478345
399306971 407340943
-217429921 -212103356
-12246787 21576
-125089225 -115526252
323652979 329876984
908529648 917523471
49320201 64121837
10
-744908257 -740112635
450103712 451805266
200334663 208816371
-996683991 -990727071
57...

output:

1 10 -483286727 -217429921 -161942485 -125089225 -12246787 49320201 323652979 399306971 705139634 908529648 
1 10 -996683991 -977374331 -744908257 -490079770 200334663 262632577 367800386 450103712 517018119 574143543 
1 10 -989074091 -912740790 -350877016 -310036497 -195634972 -78658240 9548545 164...

result:

ok ok, tt = 10000

Test #14:

score: 0
Accepted
time: 73ms
memory: 12156kb

input:

10000
10
482432556 644827792
-702152771 -602096184
-169663783 -105112142
292039646 396589232
534340289 664863338
-422883760 -342513788
-97749687 -25660790
-390644233 -281643839
-810548734 -759031174
-673955416 -549979942
10
-119363544 6349651
122113020 133353790
-373106144 -289542973
-879113115 -689...

output:

1 7 -810548734 -673955416 -390644233 -169663783 -97749687 292039646 534340289 
1 7 -879113115 -332247508 -119363544 122113020 171368080 363834577 645928414 
1 6 -949574656 -467350312 -227571080 -77672650 182755372 600904961 
1 6 -810552290 -664635999 -6424312 291169610 495350955 632920968 
1 6 -8846...

result:

ok ok, tt = 10000

Test #15:

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

input:

10000
10
-658814387 373850938
43747648 576461378
-431503832 324268120
-385319430 112339593
-460475672 399479363
-178690792 207687233
-474720568 -234903445
-703397684 -146305358
262963282 912360651
-424445504 486778793
10
-928391058 -102691886
-917150287 689395688
-621563113 90008077
750906563 861653...

output:

2 3 -474720568 -178690792 373850939 
3 3 -621563113 373321120 750906563 
5 5 -704437631 -207626584 -92577419 51605268 147962037 
1 5 -974093282 -616169589 -402410184 73512281 701849626 
1 3 -765811812 -453131209 273027997 
2 3 -800318492 -298060006 -14999607 
3 4 -940669475 -565599798 371692671 7328...

result:

ok ok, tt = 10000

Test #16:

score: 0
Accepted
time: 109ms
memory: 14112kb

input:

2015
31
367803441 382779156
-163366000 -145324996
-305141801 -304156223
-425625552 -414986437
-170900678 -152771324
536906161 550613861
-688165350 -687718654
-225793776 -221963993
-331207650 -317565830
488620488 507260616
420866299 426676602
253541173 272809277
-174936617 -172183170
-715888891 -7149...

output:

1 25 -904061213 -809095636 -715888891 -688165350 -521166579 -465764431 -425625552 -413521909 -331207650 -305141801 -225793776 -174936617 -163366000 75872976 173259791 219668378 253541173 367803441 420866299 436787024 488620488 536906161 668540203 784448742 951921684 
1 20 -784950550 -380289713 -1773...

result:

ok ok, tt = 2015

Test #17:

score: 0
Accepted
time: 102ms
memory: 14120kb

input:

1961
91
776129123 928989894
709599839 804296310
755486132 821491760
-416804447 -294950319
-795171418 -598953586
314046883 430976730
364193950 416986736
-338772962 -173803958
-437039989 -347296792
794012412 797301058
541168633 561063499
385768025 538260546
-636369000 -528032305
-518735967 -388173299
...

output:

3 24 -873692832 -748485592 -603901503 -541342445 -491712475 -437039989 -305392248 -167780911 -156084212 -72482200 13500781 55412391 101254617 160986845 235189567 262354455 368442691 473624802 541168633 576944651 668698470 794012412 836246619 898670740 
3 22 -915301845 -789077090 -729912808 -67074736...

result:

ok ok, tt = 1961

Test #18:

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

input:

1915
88
-599184315 73586345
-57063004 735370626
-594784261 657664800
-312883696 57445978
-285146469 851050384
625822943 834222116
68918244 794706645
-301544950 933777477
206867581 731025004
-439024607 -420997711
-270811554 773852696
-949479290 -530448879
-59150188 446557826
-979358741 -208839320
-18...

output:

10 11 -902887827 -764788555 -658258265 -439024607 -335699645 -81037809 9986913 224575488 515935394 612731369 726840642 
10 12 -923073760 -870131639 -381079868 -366161236 -246288652 36741667 244188370 397395431 444211856 656027137 828140441 947349881 
9 9 -881025419 -601228348 -419550027 -258824721 -...

result:

ok ok, tt = 1915

Test #19:

score: 0
Accepted
time: 115ms
memory: 14036kb

input:

1000
100
-167567106 -163456106
-645093441 -626354011
82584033 96043351
451690906 463599253
950908947 966920341
-982393168 -968113113
836738075 850385021
-707055272 -698612947
-171074009 -155730094
-352159178 -334298774
827292325 832177673
-554357876 -552869616
888998643 890253060
-218756361 -2053824...

output:

2 66 -999587762 -976986385 -912906519 -855469438 -822531375 -806296329 -737713870 -729788562 -707055272 -685627614 -660930521 -645093441 -615142746 -592700822 -581326656 -554357876 -549908456 -526031731 -515029211 -491354955 -479103395 -454069283 -352159178 -293868975 -226874546 -209881105 -19388598...

result:

ok ok, tt = 1000

Test #20:

score: 0
Accepted
time: 106ms
memory: 14112kb

input:

1000
100
-545312772 -482856294
-452625671 -373728742
-189286126 -27573154
438335850 461956201
-570840084 -394388626
-343214435 -277284691
742508809 929985121
173867778 353632110
-862386155 -731171646
-381279305 -233431288
-696987559 -615594564
635223307 770675002
125262736 126793885
-611209204 -5383...

output:

3 27 -972435185 -940314523 -841484437 -804390477 -696987559 -608513477 -485738093 -418398752 -343214435 -246583064 -136772704 -52634428 -13817101 57327452 111817413 125262736 164078855 259774617 306508600 387780630 438335850 480521289 538264148 604382211 664216383 778861255 841312381 
4 27 -93731100...

result:

ok ok, tt = 1000

Test #21:

score: 0
Accepted
time: 107ms
memory: 14108kb

input:

1000
100
-514015364 -502468776
-780221896 -332795155
-798142427 -562846508
-535018850 875423486
436197708 544762002
-931471806 -838065195
-448363432 53489617
-969136873 -123865150
-555197110 -130170596
-163510682 857998125
-474465124 -359095545
-830847377 -93005735
-779554592 -580059164
-338261122 9...

output:

12 13 -894597606 -634771925 -514015364 -474465124 -325629671 -171368938 -48975643 265670265 322857732 345036075 444695568 624979020 795994141 
11 11 -872030023 -789434485 -757297694 -641537535 -266421756 -93823708 20287675 208471026 354852818 636051534 824270425 
11 13 -924919885 -875467190 -6755108...

result:

ok ok, tt = 1000

Test #22:

score: -100
Runtime Error

input:

196
512
-976710587 -957911716
396126887 413364569
-224591467 -213982089
-870349990 -867867294
875985077 891894871
-479834146 -475222581
-739569971 -735475587
176524306 179708881
772080172 773719956
-483049430 -467425107
554653646 569597668
625892984 636319270
607058779 622167287
575940568 578213647
...

output:

3 182 -997580757 -983910448 -975248120 -969256130 -961017173 -946529325 -945996915 -930173817 -912970292 -900988629 -885621596 -872920167 -870349990 -855938040 -833954033 -818667333 -805460379 -793516067 -775832668 -749413745 -739569971 -732134416 -722698920 -704500323 -702734175 -688230230 -6693404...

result: