QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#874139 | #9865. Dolls | zzlqaq | WA | 140ms | 5872kb | C++14 | 1.3kb | 2025-01-27 16:56:29 | 2025-01-27 16:56:30 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=1e5;
int t,n,a[N+5],sta[21][N+5],sti[21][N+5],cnt,nw,ans,tz[N+5],b[N+5],ma[N+5],mi[N+5],tp;
int inline g_max(int l,int r){
int x=log2(r-l+1);
return max(sta[x][l],sta[x][r-(1<<x)+1]);
}
int inline g_min(int l,int r){
int x=log2(r-l+1);
return min(sti[x][l],sti[x][r-(1<<x)+1]);
}
bool inline pj(int l,int r,int l2,int r2){
return (r+1==l2)||(r2+1==l);
}
int qwq,T;
bool inline check(int l,int r){if(T==10&&n==10000)cout<<l<<" "<<r<<"qwq"<<"\n";
qwq+=r-l+1;
if(qwq>=5000000)exit(0);
tp=0;
for(int i=l;i<=r;i++)b[i-l+1]=a[i];
sort(b+1,b+r-l+1+1);
for(int i=1;i<=r-l+1;i++)tz[b[i]]=i;
for(int i=l;i<=r;i++){
tp++;
ma[tp]=mi[tp]=tz[a[i]];
while(tp>1&&pj(mi[tp],ma[tp],mi[tp-1],ma[tp-1])){tp--;mi[tp]=min(mi[tp],mi[tp+1]);ma[tp]=max(ma[tp],ma[tp+1]);}
}
return (tp==1);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>t;T=t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
nw=1;ans=0;
for(;nw<=n;){cnt=0;
for(int i=1;i<=n-nw+1;i<<=1)
if(check(nw,nw+i-1))cnt=i;
int l=0,r=min(n-cnt-nw+1,cnt-1);
while(l<r){
int mid=l+r+1>>1;
if(check(nw,nw+cnt+mid-1))l=mid;
else r=mid-1;
}
nw=nw+cnt+l;
ans++;
}
cout<<n-ans<<"\n";
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 5692kb
input:
8 4 2 1 4 3 4 1 4 2 3 4 3 1 4 2 5 1 3 5 2 4 5 1 4 2 5 3 5 2 5 3 1 4 6 1 3 6 5 2 4 6 2 5 1 3 6 4
output:
3 3 2 3 3 3 4 4
result:
ok 8 numbers
Test #2:
score: 0
Accepted
time: 2ms
memory: 3840kb
input:
5913 1 1 2 1 2 2 2 1 3 1 2 3 3 1 3 2 3 2 1 3 3 2 3 1 3 3 1 2 3 3 2 1 4 1 2 3 4 4 1 2 4 3 4 1 3 2 4 4 1 3 4 2 4 1 4 2 3 4 1 4 3 2 4 2 1 3 4 4 2 1 4 3 4 2 3 1 4 4 2 3 4 1 4 2 4 1 3 4 2 4 3 1 4 3 1 2 4 4 3 1 4 2 4 3 2 1 4 4 3 2 4 1 4 3 4 1 2 4 3 4 2 1 4 4 1 2 3 4 4 1 3 2 4 4 2 1 3 4 4 2 3 1 4 4 3 1 2 4...
output:
0 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 2 3 3 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 3 4 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 3 4 4 3 4 3 3 3 4 3 4 4 4 3 3 3 3 4 4 4 4 3 4 4 3 4 4 4 4 3 3 3 3 4 4 4 3 4 3 3 3 4 3 4 4 3 3 4 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 4 4 3 4 4 4 4 4 4 4 ...
result:
ok 5913 numbers
Test #3:
score: 0
Accepted
time: 4ms
memory: 5736kb
input:
8064 8 1 2 3 4 5 6 7 8 8 1 2 3 4 5 6 8 7 8 1 2 3 4 5 7 6 8 8 1 2 3 4 5 7 8 6 8 1 2 3 4 5 8 6 7 8 1 2 3 4 5 8 7 6 8 1 2 3 4 6 5 7 8 8 1 2 3 4 6 5 8 7 8 1 2 3 4 6 7 5 8 8 1 2 3 4 6 7 8 5 8 1 2 3 4 6 8 5 7 8 1 2 3 4 6 8 7 5 8 1 2 3 4 7 5 6 8 8 1 2 3 4 7 5 8 6 8 1 2 3 4 7 6 5 8 8 1 2 3 4 7 6 8 5 8 1 2 3...
output:
7 7 7 7 7 7 7 7 7 7 6 7 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 6 6 7 7 6 7 6 6 6 7 6 7 7 7 6 6 6 6 7 7 7 7 6 7 7 6 7 7 7 7 6 6 6 6 7 7 7 6 7 6 6 6 7 6 7 7 6 6 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 7 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ...
result:
ok 8064 numbers
Test #4:
score: 0
Accepted
time: 4ms
memory: 5736kb
input:
8064 8 2 6 3 4 1 5 7 8 8 2 6 3 4 1 5 8 7 8 2 6 3 4 1 7 5 8 8 2 6 3 4 1 7 8 5 8 2 6 3 4 1 8 5 7 8 2 6 3 4 1 8 7 5 8 2 6 3 4 5 1 7 8 8 2 6 3 4 5 1 8 7 8 2 6 3 4 5 7 1 8 8 2 6 3 4 5 7 8 1 8 2 6 3 4 5 8 1 7 8 2 6 3 4 5 8 7 1 8 2 6 3 4 7 1 5 8 8 2 6 3 4 7 1 8 5 8 2 6 3 4 7 5 1 8 8 2 6 3 4 7 5 8 1 8 2 6 3...
output:
6 6 6 6 6 6 7 7 7 7 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 ...
result:
ok 8064 numbers
Test #5:
score: 0
Accepted
time: 6ms
memory: 5868kb
input:
8064 8 4 2 5 6 1 3 7 8 8 4 2 5 6 1 3 8 7 8 4 2 5 6 1 7 3 8 8 4 2 5 6 1 7 8 3 8 4 2 5 6 1 8 3 7 8 4 2 5 6 1 8 7 3 8 4 2 5 6 3 1 7 8 8 4 2 5 6 3 1 8 7 8 4 2 5 6 3 7 1 8 8 4 2 5 6 3 7 8 1 8 4 2 5 6 3 8 1 7 8 4 2 5 6 3 8 7 1 8 4 2 5 6 7 1 3 8 8 4 2 5 6 7 1 8 3 8 4 2 5 6 7 3 1 8 8 4 2 5 6 7 3 8 1 8 4 2 5...
output:
6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 5 5 6 6 5 6 5 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 ...
result:
ok 8064 numbers
Test #6:
score: 0
Accepted
time: 6ms
memory: 5744kb
input:
8064 8 5 7 4 6 1 2 3 8 8 5 7 4 6 1 2 8 3 8 5 7 4 6 1 3 2 8 8 5 7 4 6 1 3 8 2 8 5 7 4 6 1 8 2 3 8 5 7 4 6 1 8 3 2 8 5 7 4 6 2 1 3 8 8 5 7 4 6 2 1 8 3 8 5 7 4 6 2 3 1 8 8 5 7 4 6 2 3 8 1 8 5 7 4 6 2 8 1 3 8 5 7 4 6 2 8 3 1 8 5 7 4 6 3 1 2 8 8 5 7 4 6 3 1 8 2 8 5 7 4 6 3 2 1 8 8 5 7 4 6 3 2 8 1 8 5 7 4...
output:
6 5 6 5 5 5 6 5 6 6 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 7 6 6 6 7 6 7 6 6 6 7 6 7 6 6 6 6 6 6 6 6 6 7 6 7 6 6 6 7 6 7 7 6 6 6 6 7 7 6 6 6 6 6 6 6 6 7 6 6 6 6 6 7 6 7 7 6 6 7 6 7 7 7 7 6 6 6 6 6 6 7 6 7 6 6 6 7 6 7 7 6 6 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ...
result:
ok 8064 numbers
Test #7:
score: 0
Accepted
time: 5ms
memory: 5740kb
input:
8064 8 7 3 6 8 1 2 4 5 8 7 3 6 8 1 2 5 4 8 7 3 6 8 1 4 2 5 8 7 3 6 8 1 4 5 2 8 7 3 6 8 1 5 2 4 8 7 3 6 8 1 5 4 2 8 7 3 6 8 2 1 4 5 8 7 3 6 8 2 1 5 4 8 7 3 6 8 2 4 1 5 8 7 3 6 8 2 4 5 1 8 7 3 6 8 2 5 1 4 8 7 3 6 8 2 5 4 1 8 7 3 6 8 4 1 2 5 8 7 3 6 8 4 1 5 2 8 7 3 6 8 4 2 1 5 8 7 3 6 8 4 2 5 1 8 7 3 6...
output:
6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 5 6 6 5 6 6 6 6 5 5 5 5 6 6 6 5 6 5 5 5 6 5 6 6 5 5 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 6 6 6 6 6 6 6 6 6 6 7 6 7 6 6 6 ...
result:
ok 8064 numbers
Test #8:
score: 0
Accepted
time: 8ms
memory: 5872kb
input:
10000 9 5 9 3 1 8 2 7 6 4 9 1 7 5 6 2 3 8 4 9 9 5 4 6 8 9 2 3 7 1 9 8 4 6 9 2 5 1 3 7 9 4 5 8 6 2 9 7 1 3 9 7 4 1 8 5 3 6 9 2 9 2 4 3 9 8 1 5 7 6 9 3 2 4 5 7 6 8 9 1 9 5 1 7 3 9 8 6 2 4 9 6 7 4 2 3 8 1 5 9 9 9 3 7 5 6 1 4 8 2 9 2 8 5 1 3 9 7 6 4 9 5 8 9 3 7 4 2 1 6 9 1 2 3 4 7 8 6 5 9 9 7 3 9 8 2 6 ...
output:
7 7 7 7 7 7 7 8 6 7 7 7 7 8 7 7 7 7 7 8 7 7 7 7 6 8 7 7 7 7 7 7 6 7 7 7 8 7 7 7 7 7 8 7 7 7 7 8 7 7 7 8 7 8 7 7 8 7 8 7 7 7 7 7 6 7 7 7 8 7 7 7 6 7 7 7 6 6 7 7 7 7 7 6 7 8 7 8 8 7 7 6 6 7 7 8 7 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 7 8 7 7 7 7 7 7 7 7 7 7 7 6 8 6 7 7 7 7 7 7 7 7 6 7 6 7 7 7 7 7 7 7 7 8 ...
result:
ok 10000 numbers
Test #9:
score: 0
Accepted
time: 8ms
memory: 5736kb
input:
10000 10 6 5 10 7 2 4 8 9 3 1 10 1 5 4 2 8 9 3 10 7 6 10 10 1 9 7 4 5 2 3 6 8 10 6 3 10 4 1 8 9 7 5 2 10 1 5 9 8 10 4 2 3 7 6 10 1 3 9 6 10 8 4 2 5 7 10 3 10 1 2 9 7 6 5 4 8 10 3 8 2 9 4 5 10 1 6 7 10 8 5 1 6 7 9 4 10 3 2 10 1 8 6 9 7 5 10 2 4 3 10 3 5 8 2 6 4 9 7 1 10 10 10 2 4 3 9 8 5 6 7 1 10 9 6...
output:
8 8 9 7 8 8 8 7 8 8 8 9 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 8 8 7 9 8 8 7 7 8 8 7 7 8 8 8 8 8 8 8 7 7 8 7 7 8 8 8 7 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 8 8 7 7 8 9 8 8 8 8 7 9 8 8 8 7 7 8 7 8 8 8 8 8 8 8 8 7 8 7 8 8 8 7 8 8 8 8 8 7 8 8 8 8 8 8 8 7 8 8 7 8 8 8 8 8 8 8 8 8 9 7 8 8 8 7 7 7 9 8 8 8 7 8 8 7 8 7 8 8 ...
result:
ok 10000 numbers
Test #10:
score: 0
Accepted
time: 33ms
memory: 5744kb
input:
1000 100 36 19 15 23 80 24 92 12 63 82 17 71 52 53 62 37 30 5 87 14 27 42 47 38 67 39 40 77 6 11 22 58 83 26 86 50 64 54 81 89 60 85 74 55 96 100 2 32 75 49 93 51 41 57 68 10 3 95 79 21 98 69 99 20 56 91 59 76 28 94 66 44 46 70 43 97 7 16 48 29 84 61 9 65 13 31 34 45 33 1 73 72 78 35 88 90 4 25 8 18...
output:
83 82 85 82 82 81 82 82 83 82 81 82 81 83 83 80 83 84 83 84 80 81 80 81 80 82 84 82 84 84 84 83 84 83 84 82 82 86 82 82 83 82 80 82 82 81 81 82 80 80 83 81 83 82 85 83 84 84 83 81 82 81 80 84 84 81 82 83 84 84 84 82 82 83 83 82 82 84 81 80 80 82 81 82 84 84 79 83 83 82 84 81 81 81 84 84 85 83 84 82 ...
result:
ok 1000 numbers
Test #11:
score: -100
Wrong Answer
time: 140ms
memory: 5740kb
input:
100 1000 550 971 302 95 28 284 617 922 674 216 841 488 304 342 88 271 306 556 106 206 22 722 319 730 603 112 877 59 910 921 490 973 35 323 495 9 507 869 834 542 391 86 359 69 837 830 498 645 852 974 790 766 255 98 269 231 452 720 728 925 652 214 91 484 878 592 217 763 487 400 868 66 328 195 923 955 ...
output:
822 826 827 836 825 819 833 828 819 825 826 829 825 828 827 823 826 832 827 822 826 833 824 827 819 821 819 824 830 815 833 831 822 828 835 829 827 824 836 829 822
result:
wrong answer Answer contains longer sequence [length = 100], but output contains 41 elements