QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#672908 | #1429. Hit | Flamire | RE | 105ms | 14188kb | C++17 | 2.6kb | 2024-10-24 19:48:12 | 2024-10-24 19:48:12 |
Judging History
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=17;~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<=17;++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<=17;++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;
w[i]=u;
tow[i][0]=w[i];
for(int j=1;j<=17;++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]);
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: 2ms
memory: 14116kb
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: 14124kb
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: 47ms
memory: 14132kb
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: 50ms
memory: 14040kb
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: 46ms
memory: 14188kb
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: 49ms
memory: 11960kb
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: 54ms
memory: 14116kb
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: 54ms
memory: 14044kb
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: 68ms
memory: 12088kb
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: 69ms
memory: 14040kb
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: 12080kb
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: 73ms
memory: 14000kb
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: 70ms
memory: 14124kb
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: 56ms
memory: 14096kb
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: 99ms
memory: 14048kb
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: 96ms
memory: 14064kb
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: 94ms
memory: 14116kb
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: 105ms
memory: 14116kb
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: 102ms
memory: 14036kb
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: 101ms
memory: 14060kb
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...