1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define int long long #define PII pair<int,int> #define fi first #define se second const int N=510; int a[N],ans[N*N];PII b[N]; signed main() { int n;cin>>n; for(int i=1;i<=n;i++)cin>>a[i],b[i].se=i,b[i].fi=a[i]; sort(b+1,b+n+1);int l=1; for(int i=1;i<=n;i++) { for(int j=1;j<b[i].se;j++) { while(ans[l])l++; if(l>=a[b[i].se]) { cout<<"No"; return 0; } ans[l]=b[i].se; } ans[b[i].fi]=b[i].se; } l=1; for(int i=1;i<=n;i++) { for(int j=b[i].se+1;j<=n;j++) { while(ans[l])l++; if(l<b[i].fi) { cout<<"No"; return 0; } ans[l]=b[i].se; } } cout<<"Yes"<<'\n'; for(int i=1;i<=n*n;i++)cout<<ans[i]<<' ';cout<<'\n'; return 0; }
- 1
信息
- ID
- 8761
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者