Submission #70188270
Source Code Expand
#include<iostream>
#include<vector>
#define pb push_back
using namespace std;
const int N=3e5+10;
int n,a[N],mx[N];
bool res,vis[N],c[N];
vector <int> tv,e[N],g[N];
void dfs0(int u,int fat)
{
if(vis[u])
{
if(!tv.size())
{
tv.pb(u),u=a[u];
while(u!=tv[0]) tv.pb(u),u=a[u];
}
return;
}
vis[u]=1;
for(int v:g[u]) if(v!=fat) dfs0(v,u);
}
void dfs1(int u)
{
mx[u]=u;
for(int v:e[u]) if(!c[v]) dfs1(v),mx[u]=max(mx[u],mx[v]),res&=(mx[v]>u);
}
void sol()
{
cin>>n,res=true;
for(int i=1;i<=n;i++) e[i].clear();
for(int i=1;i<=n;i++) cin>>a[i],vis[i]=c[i]=0,e[a[i]].pb(i);
for(int i=1;i<=n;i++) g[i]=e[i];
for(int i=1;i<=n;i++) g[i].pb(a[i]);
for(int i=1;i<=n;i++) if(!vis[i])
{
tv.clear(),dfs0(i,0);
for(int x:tv) c[x]=1;
for(int x:tv) dfs1(x);
if(!res) {cout<<"No\n"; return;}
}
cout<<"Yes\n";
}
int main()
{
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int TT; cin>>TT;
while(TT--) sol();
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Ball Redistribution |
| User | KSCD_ |
| Language | C++ 20 (gcc 12.2) |
| Score | 1200 |
| Code Size | 993 Byte |
| Status | AC |
| Exec Time | 218 ms |
| Memory | 52220 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-001.txt |
| All | 00-sample-001.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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-001.txt | AC | 6 ms | 3596 KiB |
| 01-001.txt | AC | 19 ms | 3532 KiB |
| 01-002.txt | AC | 6 ms | 3552 KiB |
| 01-003.txt | AC | 20 ms | 3548 KiB |
| 01-004.txt | AC | 20 ms | 3440 KiB |
| 01-005.txt | AC | 20 ms | 3444 KiB |
| 01-006.txt | AC | 20 ms | 3552 KiB |
| 01-007.txt | AC | 19 ms | 3524 KiB |
| 01-008.txt | AC | 21 ms | 3772 KiB |
| 01-009.txt | AC | 26 ms | 4764 KiB |
| 01-010.txt | AC | 152 ms | 30552 KiB |
| 01-011.txt | AC | 157 ms | 30560 KiB |
| 01-012.txt | AC | 103 ms | 30576 KiB |
| 01-013.txt | AC | 137 ms | 30764 KiB |
| 01-014.txt | AC | 111 ms | 30616 KiB |
| 01-015.txt | AC | 123 ms | 31708 KiB |
| 01-016.txt | AC | 124 ms | 31560 KiB |
| 01-017.txt | AC | 126 ms | 31668 KiB |
| 01-018.txt | AC | 125 ms | 31636 KiB |
| 01-019.txt | AC | 126 ms | 31724 KiB |
| 01-020.txt | AC | 218 ms | 52220 KiB |
| 01-021.txt | AC | 203 ms | 49384 KiB |
| 01-022.txt | AC | 26 ms | 21372 KiB |
| 01-023.txt | AC | 26 ms | 21372 KiB |
| 01-024.txt | AC | 122 ms | 36292 KiB |
| 01-025.txt | AC | 124 ms | 37048 KiB |
| 01-026.txt | AC | 122 ms | 29464 KiB |
| 01-027.txt | AC | 119 ms | 29304 KiB |
| 01-028.txt | AC | 150 ms | 35272 KiB |
| 01-029.txt | AC | 158 ms | 34876 KiB |
| 01-030.txt | AC | 126 ms | 29772 KiB |
| 01-031.txt | AC | 119 ms | 29828 KiB |
| 01-032.txt | AC | 166 ms | 37216 KiB |
| 01-033.txt | AC | 161 ms | 37292 KiB |
| 01-034.txt | AC | 78 ms | 29140 KiB |
| 01-035.txt | AC | 78 ms | 29080 KiB |
| 01-036.txt | AC | 123 ms | 29512 KiB |
| 01-037.txt | AC | 127 ms | 29672 KiB |
| 01-038.txt | AC | 137 ms | 30148 KiB |
| 01-039.txt | AC | 136 ms | 30204 KiB |
| 01-040.txt | AC | 199 ms | 37284 KiB |
| 01-041.txt | AC | 174 ms | 37652 KiB |
| 01-042.txt | AC | 80 ms | 29152 KiB |
| 01-043.txt | AC | 81 ms | 29112 KiB |
| 01-044.txt | AC | 131 ms | 29948 KiB |
| 01-045.txt | AC | 134 ms | 29924 KiB |
| 01-046.txt | AC | 141 ms | 30260 KiB |
| 01-047.txt | AC | 142 ms | 30152 KiB |
| 01-048.txt | AC | 167 ms | 39212 KiB |
| 01-049.txt | AC | 160 ms | 39648 KiB |
| 01-050.txt | AC | 82 ms | 29084 KiB |
| 01-051.txt | AC | 84 ms | 28988 KiB |
| 01-052.txt | AC | 133 ms | 30080 KiB |
| 01-053.txt | AC | 133 ms | 30012 KiB |
| 01-054.txt | AC | 161 ms | 41104 KiB |
| 01-055.txt | AC | 169 ms | 39180 KiB |
| 01-056.txt | AC | 73 ms | 28088 KiB |
| 01-057.txt | AC | 74 ms | 28152 KiB |
| 01-058.txt | AC | 185 ms | 43344 KiB |
| 01-059.txt | AC | 180 ms | 45960 KiB |
| 01-060.txt | AC | 93 ms | 31968 KiB |
| 01-061.txt | AC | 93 ms | 31928 KiB |
| 01-062.txt | AC | 147 ms | 32868 KiB |
| 01-063.txt | AC | 143 ms | 34172 KiB |