QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#116359 | #3300. Cactus Competition | wfycsw | WA | 2ms | 9704kb | C++14 | 2.0kb | 2023-06-28 16:05:16 | 2023-06-28 16:05:18 |
Judging History
answer
#include<bits/stdc++.h>
#define RI register int
#define err puts("asd")
#define ll long long
#define ull unsigned long long
#define mk make_pair
#define LL __int128
#define fl fflush(stdout)
#define eb emplace_back
//#pragma GCC optimize(2)
//#define int long long
using namespace std;
inline ll read(){
ll s=0;register char c=getchar();bool f=0;
while(c<'0'||c>'9'){if(c=='-') f=1;c=getchar();}
while(c>='0'&&c<='9') s=(s<<1)+(s<<3)+c-48,c=getchar();
return f?-s:s;
}
const int N=2e5+5;
const int inf=2e9+5;
int a[N],b[N],n,d[N],m,cnt;
int maxl[N],minl[N],h[N],c[N],suf1[N],suf2[N],g[N];
ll ans;
bool vis[N];
signed main(){
// freopen("1.cpp","r",stdin);
// freopen("1.out","w",stdout);
n=read();m=read();
RI l,r,mid,pos,x,y,z,u,v,D=-1e9,F=1e9;
for(RI i=1;i<=m;++i) b[i]=read();
for(RI i=1;i<=n;++i) a[i]=read(),a[i]=-a[i],D=max(D,a[i]),F=min(F,a[i]);
minl[0]=inf;
maxl[1]=minl[1]=a[1];
for(RI i=2;i<=n;++i) maxl[i]=max(maxl[i-1],a[i]),minl[i]=min(minl[i-1],a[i]);
suf1[n]=suf2[n]=a[n];
suf2[n+1]=inf;
for(RI i=n-1;i>0;--i) suf1[i]=max(suf1[i+1],a[i]),suf2[i]=min(suf2[i+1],a[i]);
for(RI i=1;i<=m;++i){
if(b[i]>=D) d[++cnt]=i,vis[i]=1,c[cnt]=1;
else{
h[i]=upper_bound(maxl+1,maxl+n+1,b[i])-maxl-1;
l=1;r=n;pos=n+1;
while(l<=r){
mid=l+r>>1;
if(suf1[mid]<=b[i]) r=mid-1,pos=mid;
else l=mid+1;
}
g[i]=pos;
// cout<<"nmsl "<<i<<' '<<g[i]<<' '<<b[i]<<' '<<suf1[10]<<endl;
}
}
x=0;
for(RI i=d[1];i<=m;++i){
if(vis[i]){
++x;y=d[i];z=inf;
continue;
}
z=min(z,b[i]);
if(z>=suf2[g[i]]) ++c[x];
}
bool ok;
for(RI i=cnt-1;i>0;--i){
ok=1;
for(RI j=d[i+1]-1;j>d[i];--j)
if(b[j]<F){ok=0;break;}
if(ok) c[i]+=c[i+1];
}
x=cnt+1;
for(RI i=d[cnt];i>0;--i){
if(vis[i]){
--x;y=d[i];z=inf;
//cout<<"debug "<<c[x]<<endl;
ans+=c[x];
continue;
}
z=min(z,b[i]);
// cout<<h[i]<<' '<<z<<' '<<minl[h[i]]<<endl;
if(z>=minl[h[i]]){
//cout<<c[x]<<endl;
ans+=c[x];
}
}
cout<<ans<<endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 9532kb
input:
3 3 -1 0 1 -1 0 1
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 2ms
memory: 9640kb
input:
3 3 -1 0 1 1 0 1
output:
5
result:
ok single line: '5'
Test #3:
score: 0
Accepted
time: 2ms
memory: 9404kb
input:
10 10 145195799 312862766 143966779 -11056226 -503624929 636383890 -182650312 -382759112 -290767690 377894950 -845235881 -418232930 -600566938 -957917357 -181139226 125255273 -175406945 740226783 -750456842 325848662
output:
0
result:
ok single line: '0'
Test #4:
score: 0
Accepted
time: 2ms
memory: 9472kb
input:
10 10 923415743 -503391272 885740174 329644337 -693052351 -53764994 731859967 -834732760 -57751504 151969590 553689579 313784278 -12090771 921222379 -378313551 819586787 -373658045 559813071 671861309 268258615
output:
13
result:
ok single line: '13'
Test #5:
score: 0
Accepted
time: 0ms
memory: 9536kb
input:
10 10 -123276196 264891802 609485405 -980113903 152483893 57563748 -454135131 618686452 545983457 236619926 648896419 838269531 -380077537 536463844 89691984 38425645 759165084 325716532 330825142 -472414030
output:
12
result:
ok single line: '12'
Test #6:
score: 0
Accepted
time: 2ms
memory: 9668kb
input:
10 10 982508669 144806400 -503165973 760719995 -249757698 -573349946 -974145393 -905114292 218260516 -582308724 -341366248 187422683 298181900 -305351333 -616330465 -358958909 499163196 -967112195 -892547772 -605274022
output:
1
result:
ok single line: '1'
Test #7:
score: 0
Accepted
time: 2ms
memory: 9524kb
input:
10 10 -46634296 998649898 637256009 858343376 -339756903 750734027 533317110 509238419 -386390857 573123021 281094131 -798662878 454769235 -725579556 448648301 -937460999 -94310392 -504422439 -566805692 -883657655
output:
2
result:
ok single line: '2'
Test #8:
score: 0
Accepted
time: 2ms
memory: 9704kb
input:
10 10 -448680004 -918586552 -352190179 959516158 674275159 -778874335 -736749389 -368418013 103878020 562512923 -493932809 -736960513 78543198 885372691 -119140562 627952281 733778437 115556860 -196686999 -530143800
output:
3
result:
ok single line: '3'
Test #9:
score: 0
Accepted
time: 2ms
memory: 9692kb
input:
10 10 438736217 -79057408 749090846 -106479211 -864134653 49806870 -724192950 -354806728 -230893984 130090227 -313678558 -493317070 -704907097 -240066585 275905249 -440144088 -697190358 608351624 783121279 -54163556
output:
1
result:
ok single line: '1'
Test #10:
score: 0
Accepted
time: 2ms
memory: 9668kb
input:
10 10 910467973 475480237 284540173 -490003419 -496858639 575308046 -772115835 -650286781 -946294433 -375903216 465208966 198897340 37926241 -452764487 81169636 803610511 943188813 773420180 248487883 -932609634
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 0ms
memory: 9696kb
input:
10 10 -717662422 899539843 686516865 -308859590 731187727 948271874 -278705921 533338789 378708586 -53953529 -819295682 -712753496 -588162402 -765119207 518537239 793210677 199564253 443460314 248599384 333581283
output:
14
result:
ok single line: '14'
Test #12:
score: 0
Accepted
time: 0ms
memory: 9520kb
input:
10 10 13154473 419018121 -416088051 751464183 -782740304 257733919 -917880927 -690282918 410240353 817939924 440852087 -846511822 -519300757 153508300 757901474 928246448 -132837037 -603019187 860960474 -381787006
output:
0
result:
ok single line: '0'
Test #13:
score: 0
Accepted
time: 2ms
memory: 9520kb
input:
10 10 -357608489 679822152 25019791 265926477 -309098231 -7866110 -344995594 54868813 319830921 627547981 -431127028 -396320203 -35574917 657270168 -452580497 -359511978 -443174072 195670048 -696354158 2633147
output:
0
result:
ok single line: '0'
Test #14:
score: 0
Accepted
time: 1ms
memory: 7500kb
input:
10 10 126298083 -169291689 736314121 784469908 642788743 -450191333 -98804016 -511077469 -691147937 -275067405 440527703 -329746015 -473928781 -114255013 -450714278 -903623369 888225605 -146644734 173060316 214649350
output:
0
result:
ok single line: '0'
Test #15:
score: 0
Accepted
time: 1ms
memory: 9520kb
input:
10 10 -631748556 73286407 324751086 157696597 846447361 -444570059 484021795 -258058046 -116283058 -158063251 712663587 -233692952 820220037 516771553 879333593 156354440 -36643636 -639052753 -790959020 950256682
output:
30
result:
ok single line: '30'
Test #16:
score: -100
Wrong Answer
time: 1ms
memory: 9528kb
input:
20 10 -623445264 -424346675 38726811 -683309080 312098721 491569101 58067873 265188450 933087599 -786006093 -652539909 -790632832 780472328 -854541037 -851647529 130095820 35107516 -49396621 -476857996 -420750398 102904427 387758770 -297785914 -909492241 54351476 480814965 -450898650 532245762 14578...
output:
1
result:
wrong answer 1st lines differ - expected: '5', found: '1'