Submission #34047518
Source Code Expand
#include<bits/stdc++.h> #ifdef xay5421 #define D(...) fprintf(stderr,__VA_ARGS__) #define DD(...) D(#__VA_ARGS__ "="),debug_helper::debug(__VA_ARGS__),D("\n") #include"/home/xay5421/debug.hpp" #else #define D(...) ((void)0) #define DD(...) ((void)0) #endif #define pb push_back #define eb emplace_back #define SZ(x) ((int)(x).size()) #define each(x,v) for(auto&x:v) #define rep(i,a,b) for(int i=(a);i<=(b);++i) #define per(i,a,b) for(int i=(a);i>=(b);--i) template<class T>void rd(T&x){int f=0,c;while(!isdigit(c=getchar()))f^=!(c^45);x=(c&15);while(isdigit(c=getchar()))x=x*10+(c&15);if(f)x=-x;} template<class T>void pt(T x,int c=-1){if(x<0)putchar('-'),x=-x;if(x>9)pt(x/10);putchar(x%10+48);if(c!=-1)putchar(c);} using namespace std; using LL=long long; using ULL=unsigned long long; const int N=300005; int T,n,a[N],pre[N],nex[N],sum[N],ss[N],tt[N]; vector<int>v[5]; int main(){ #ifdef xay5421 freopen("a.in","r",stdin); #endif rd(T); rep(tc,1,T){ rd(n); rep(i,0,n-1){ rd(a[i]); } bool ok=1; rep(_,0,1){ if(_==1){ rep(i,0,n-1)a[i]=5-a[i]; } sum[n]=0; ss[n]=0; tt[n]=0; per(i,n-1,0){ sum[i]=a[i]==2; sum[i]+=sum[i+1]; ss[i]=a[i]==1; ss[i]+=ss[i+1]; tt[i]=a[i]==3; tt[i]+=tt[i+1]; } auto get_sum=[&](int *sum,int l,int r){ if(l<=r){ return sum[l]-sum[r+1]; }else{ return sum[l]+sum[0]-sum[r+1]; } }; rep(i,1,4)v[i].clear(); rep(i,0,n-1){ v[a[i]].pb(i); } int last=-1; rep(i,0,n-1){ if(a[i]==3)last=i; } rep(i,0,n-1){ pre[i]=last; if(a[i]==3)last=i; } per(i,n-1,0){ if(a[i]==3)last=i; } per(i,n-1,0){ nex[i]=last; if(a[i]==3)last=i; } auto get_len=[&](int l,int r){ if(l<=r)return r-l-1; return n-r-1+l; }; auto test=[&](int l,int r){ if(l==r)return; if(get_len(l,r)&&get_sum(ss,l,r)==get_len(l,r)&&get_sum(sum,nex[r],pre[l])==0){ ok=0; } }; auto work=[&](int x){ if(get_sum(tt,nex[x],pre[x])==tt[0]){ if(get_len(pre[x],x)&&get_sum(ss,pre[x],x)==get_len(pre[x],x)){ ok=0; } if(get_len(x,nex[x])&&get_sum(ss,x,nex[x])==get_len(x,nex[x])){ ok=0; } } }; rep(i,0,SZ(v[4])-1){ test(v[4][i],v[4][(i+1)%SZ(v[4])]); } rep(i,0,SZ(v[4])-1){ work(v[4][i]); } } puts(ok?"Yes":"No"); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Planar Tree |
User | xay5421 |
Language | C++ (GCC 9.2.1) |
Score | 0 |
Code Size | 2462 Byte |
Status | WA |
Exec Time | 27 ms |
Memory | 14120 KiB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 900 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00-sample-001.txt, 00-sample-002.txt |
All | 00-sample-001.txt, 00-sample-002.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt, 01-029.txt, 01-030.txt, 01-031.txt, 01-032.txt, 01-033.txt, 01-034.txt, 01-035.txt, 01-036.txt, 01-037.txt, 01-038.txt, 01-039.txt, 01-040.txt, 01-041.txt, 01-042.txt, 01-043.txt, 01-044.txt, 01-045.txt, 01-046.txt, 01-047.txt, 01-048.txt, 01-049.txt, 01-050.txt, 01-051.txt, 01-052.txt, 01-053.txt, 01-054.txt, 01-055.txt, 01-056.txt, 01-057.txt, 01-058.txt, 01-059.txt, 01-060.txt, 01-061.txt, 01-062.txt, 01-063.txt, 01-064.txt, 01-065.txt, 01-066.txt, 01-067.txt, 01-068.txt, 01-069.txt, 01-070.txt, 01-071.txt, 01-072.txt, 01-073.txt, 01-074.txt, 01-075.txt, 01-076.txt, 01-077.txt, 01-078.txt, 01-079.txt, 01-080.txt, 01-081.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00-sample-001.txt | AC | 1 ms | 3460 KiB |
00-sample-002.txt | AC | 2 ms | 3460 KiB |
01-001.txt | WA | 17 ms | 3428 KiB |
01-002.txt | WA | 20 ms | 3540 KiB |
01-003.txt | WA | 18 ms | 3572 KiB |
01-004.txt | WA | 17 ms | 3580 KiB |
01-005.txt | WA | 18 ms | 3472 KiB |
01-006.txt | WA | 17 ms | 3416 KiB |
01-007.txt | WA | 21 ms | 3468 KiB |
01-008.txt | WA | 2 ms | 3492 KiB |
01-009.txt | WA | 3 ms | 3436 KiB |
01-010.txt | WA | 2 ms | 3436 KiB |
01-011.txt | WA | 4 ms | 3484 KiB |
01-012.txt | AC | 2 ms | 3556 KiB |
01-013.txt | AC | 3 ms | 3436 KiB |
01-014.txt | AC | 3 ms | 3552 KiB |
01-015.txt | AC | 4 ms | 3492 KiB |
01-016.txt | WA | 3 ms | 3592 KiB |
01-017.txt | WA | 3 ms | 3492 KiB |
01-018.txt | WA | 4 ms | 3552 KiB |
01-019.txt | WA | 2 ms | 3612 KiB |
01-020.txt | WA | 25 ms | 11428 KiB |
01-021.txt | WA | 15 ms | 4424 KiB |
01-022.txt | WA | 15 ms | 3692 KiB |
01-023.txt | WA | 15 ms | 3484 KiB |
01-024.txt | WA | 16 ms | 3548 KiB |
01-025.txt | AC | 20 ms | 11480 KiB |
01-026.txt | WA | 14 ms | 4264 KiB |
01-027.txt | WA | 13 ms | 3692 KiB |
01-028.txt | WA | 14 ms | 3624 KiB |
01-029.txt | WA | 16 ms | 3584 KiB |
01-030.txt | AC | 19 ms | 11592 KiB |
01-031.txt | AC | 20 ms | 11604 KiB |
01-032.txt | AC | 18 ms | 11628 KiB |
01-033.txt | AC | 23 ms | 13952 KiB |
01-034.txt | AC | 21 ms | 13844 KiB |
01-035.txt | AC | 27 ms | 13808 KiB |
01-036.txt | AC | 27 ms | 13600 KiB |
01-037.txt | AC | 26 ms | 13568 KiB |
01-038.txt | AC | 19 ms | 12064 KiB |
01-039.txt | AC | 18 ms | 11532 KiB |
01-040.txt | AC | 19 ms | 12072 KiB |
01-041.txt | AC | 20 ms | 12248 KiB |
01-042.txt | AC | 20 ms | 11816 KiB |
01-043.txt | AC | 24 ms | 11688 KiB |
01-044.txt | AC | 23 ms | 11884 KiB |
01-045.txt | AC | 21 ms | 11940 KiB |
01-046.txt | AC | 24 ms | 11672 KiB |
01-047.txt | AC | 20 ms | 11748 KiB |
01-048.txt | AC | 20 ms | 11456 KiB |
01-049.txt | AC | 20 ms | 11472 KiB |
01-050.txt | AC | 20 ms | 11752 KiB |
01-051.txt | AC | 18 ms | 11620 KiB |
01-052.txt | AC | 19 ms | 11484 KiB |
01-053.txt | WA | 20 ms | 11896 KiB |
01-054.txt | WA | 18 ms | 12208 KiB |
01-055.txt | WA | 23 ms | 11632 KiB |
01-056.txt | WA | 24 ms | 14120 KiB |
01-057.txt | WA | 24 ms | 13600 KiB |
01-058.txt | WA | 22 ms | 13844 KiB |
01-059.txt | WA | 26 ms | 13552 KiB |
01-060.txt | WA | 21 ms | 13868 KiB |
01-061.txt | WA | 18 ms | 11772 KiB |
01-062.txt | WA | 21 ms | 11924 KiB |
01-063.txt | WA | 19 ms | 11580 KiB |
01-064.txt | WA | 22 ms | 12112 KiB |
01-065.txt | WA | 22 ms | 12056 KiB |
01-066.txt | WA | 21 ms | 11724 KiB |
01-067.txt | WA | 19 ms | 11968 KiB |
01-068.txt | WA | 20 ms | 11584 KiB |
01-069.txt | WA | 21 ms | 11544 KiB |
01-070.txt | WA | 18 ms | 11764 KiB |
01-071.txt | WA | 18 ms | 11472 KiB |
01-072.txt | WA | 18 ms | 11992 KiB |
01-073.txt | WA | 19 ms | 11616 KiB |
01-074.txt | WA | 19 ms | 11564 KiB |
01-075.txt | WA | 23 ms | 11540 KiB |
01-076.txt | WA | 17 ms | 9508 KiB |
01-077.txt | WA | 15 ms | 9708 KiB |
01-078.txt | WA | 13 ms | 4884 KiB |
01-079.txt | WA | 13 ms | 3764 KiB |
01-080.txt | WA | 13 ms | 3652 KiB |
01-081.txt | WA | 15 ms | 3464 KiB |