# 1624C – Division by Two and Permutation(1100)(1624C – Division by Two and Permutation(1100))-其他

## 1624C – Division by Two and Permutation(1100)(1624C – Division by Two and Permutation(1100))

``````#include<bits/stdc++.h>
using namespace std;
int vis[10005],a[10005],t,n;
int main(){
scanf("%d",&t);
while(t--){
bool flag = true;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++){
while(a[i]!=0&&(a[i]>n||vis[a[i]]==1)){
a[i]/=2;
}
if(a[i]==0){
flag=false;
break;
}
vis[a[i]]=1;
}
if(flag) printf("YES\n");
else printf("NO\n");
}
}``````
————————
``````#include<bits/stdc++.h>
using namespace std;
int vis[10005],a[10005],t,n;
int main(){
scanf("%d",&t);
while(t--){
bool flag = true;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++){
while(a[i]!=0&&(a[i]>n||vis[a[i]]==1)){
a[i]/=2;
}
if(a[i]==0){
flag=false;
break;
}
vis[a[i]]=1;
}
if(flag) printf("YES\n");
else printf("NO\n");
}
}``````