QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#567176 | #9310. Permutation Counting 4 | Tytytony | WA | 204ms | 5684kb | C++14 | 1.3kb | 2024-09-16 09:37:03 | 2024-09-16 09:37:03 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#define N 1000010
using namespace std;
int n,tl,tr,flag;
int l[N],r[N];
void clean(){
flag=0;
for(int i=1;i<=n;i++){
l[i]=0,r[i]=0;
}
}
void pc(int L,int R){
if(flag==1) return;
int ll=L,rr=R;
if(l[ll]!=0){
if(l[ll]<rr){
ll=l[ll]+1;
pc(ll,rr);
}
else if(l[ll]==rr){
flag=1;
return;
}
else if(l[ll]>rr){
if(l[rr+1]==0){
r[l[ll]]=rr+1;
l[rr+1]=l[ll];
l[ll]=0;
}
else{
int tmpl=rr+1,tmpr=l[ll];
r[l[ll]]=0;
l[rr+1]=0;
l[ll]=0;
pc(tmpl,tmpr);
}
}
}
if(r[rr]!=0){
if(r[rr]>ll){
rr=r[rr]-1;
pc(ll,rr);
}
else if(r[rr]==ll){
flag=1;
return;
}
else if(r[rr]<ll){
if(r[ll-1]==0){
l[r[rr]]=ll-1;
r[ll-1]=r[rr];
r[rr]=0;
}
else{
int tmpl=r[rr],tmpr=ll-1;
l[r[rr]]=0;
r[ll-1]=0;
r[rr]=0;
pc(tmpl,tmpr);
}
}
}
l[ll]=rr;
r[rr]=ll;
return;
}
int main(){
int T; cin>>T;
while(T--){
cin>>n;
clean();
for(int i=1;i<=n;i++){
cin>>tl>>tr;
if(flag==0) pc(tl,tr);
}
if(flag==1){
cout<<"0\n";
continue;
}
if(flag==0){
cout<<"1\n";
continue;
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 5676kb
input:
4 5 1 2 1 5 1 2 1 2 2 2 5 1 1 2 4 2 3 5 5 3 4 5 3 5 1 2 3 4 3 5 3 3 5 1 5 1 4 4 5 5 5 1 2
output:
0 1 0 0
result:
ok 4 tokens
Test #2:
score: -100
Wrong Answer
time: 204ms
memory: 5684kb
input:
66725 14 7 7 4 6 7 8 8 13 2 13 6 13 6 10 14 14 1 10 9 11 7 9 3 8 4 12 5 12 12 2 6 3 6 7 11 2 5 1 1 6 12 8 12 2 3 7 9 7 8 1 10 1 4 10 4 8 4 4 6 10 9 10 2 3 2 7 1 3 3 4 2 2 3 10 20 3 12 10 14 19 20 19 20 1 9 7 9 13 16 17 17 16 18 2 11 5 19 6 17 11 17 3 6 3 11 7 20 8 17 3 18 10 15 9 20 16 5 10 2 10 2 1...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
wrong answer 1st words differ - expected: '1', found: '0'