QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#33667#1429. HitDerekFengWA 70ms7944kbC++2.0kb2022-06-04 15:56:202022-06-04 15:56:22

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-06-04 15:56:22]
  • 评测
  • 测评结果:WA
  • 用时:70ms
  • 内存:7944kb
  • [2022-06-04 15:56:20]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int n,N,l[100004],r[100004];
vector<int>all,grans;
bool cmp(int a,int b){return r[a]<r[b];}
int s[200004],t;
void greedy(){
	vector<int>ord;grans.clear();
	for(int i=1;i<=n;i++)ord.push_back(i);
	sort(ord.begin(),ord.end(),cmp);
	grans.push_back(0);
	for(auto x:ord)if(grans.back()<l[x])grans.push_back(r[x]);
	for(int i=1;i<=N;i++)s[i]=0;
	for(auto x:grans)s[x]++;
	for(int i=1;i<=N;i++)s[i]+=s[i-1];
	t=0;for(int i=1;i<=n;i++)t=max(t,s[r[i]]-s[l[i]-1]);
}
int w[200004][20];
int rd[200004],ld[200004];
bool check(){
	for(int i=0;i<=N+1;i++)rd[i]=N+1,ld[i]=N+1;
	for(int i=1;i<=n;i++){
		rd[l[i]]=min(rd[l[i]],r[i]);
		ld[r[i]]=min(ld[r[i]],l[i]);
	}
	for(int i=N-1;i;i--)ld[i]=min(ld[i+1],ld[i]);
	deque<int>dq;bool exi=0;
	for(int i=N;~i;i--){
		while(!dq.empty()&&dq.back()>rd[i+1])
			dq.pop_back();
		memset(w[i],0,sizeof(w[i]));
		w[i][0]=(dq.empty()||!exi)?0:dq.back();
		for(int j=1;j<20;j++)if(w[i][j-1])
			w[i][j]=w[w[i][j-1]][j-1];
		int f=i;
		for(int j=0;j<20;j++)if(((t-1)>>j)&1)f=w[f][j];
		if(dq.empty()){
			if(!exi)dq.push_front(i);
		}else if(!f)dq.push_front(i);
		else if(ld[f]>i)dq.push_front(i);
		exi|=rd[i]<=N;
	}
	if(dq.empty()||dq.front()!=0)return 0;
	vector<int>ans;
	int x=w[0][0];
	while(x)ans.push_back(x),x=w[x][0];
	printf("%d %d ",t-1,ans.size());
	for(auto x:ans)printf("%d ",all[x-1]);
	return 1;
}
void sol(){
	scanf("%d",&n),all.clear();
	for(int i=1;i<=n;i++){
		scanf("%d%d",&l[i],&r[i]);
		all.push_back(l[i]),all.push_back(r[i]+1);
	}
	sort(all.begin(),all.end());
	all.erase(unique(all.begin(),all.end()),all.end());
	for(int i=1;i<=n;i++){
		l[i]=lower_bound(all.begin(),all.end(),l[i])-all.begin()+1;
		r[i]=lower_bound(all.begin(),all.end(),r[i]+1)-all.begin();
	}
	N=all.size();
	greedy();
	if(t==1||!check()){
		printf("%d %d ",t,grans.size()-1);
		for(auto x:grans)if(x)printf("%d ",all[x-1]);
	}
	puts("");
}
int main(){
	int tc;scanf("%d",&tc);
	while(tc--)sol();
}

詳細信息

Test #1:

score: 100
Accepted
time: 4ms
memory: 7796kb

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 -1 8 
2 3 0 3 4 

result:

ok ok, tt = 4

Test #2:

score: 0
Accepted
time: 1ms
memory: 5840kb

input:

1
1
0 1

output:

1 1 0 

result:

ok ok, tt = 1

Test #3:

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

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: 67ms
memory: 5876kb

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: 70ms
memory: 5732kb

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: 50ms
memory: 3880kb

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: 55ms
memory: 5764kb

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: 52ms
memory: 3684kb

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: 60ms
memory: 3800kb

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: 45ms
memory: 5940kb

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: 44ms
memory: 7944kb

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: -100
Wrong Answer
time: 64ms
memory: 7884kb

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 -767189088 -276389523 592717413 
1 1 -524868351 
2 4 -887619616 308683350 671197592 920526346 
2 2 -357889993 175225091 
1 2 -759804786 -583969466 
2 2 -287026922 155525336 
1 4 -9395422...

result:

wrong answer test 202: expected 3, found 4