#include <bits/stdc++.h> #define endl '\n' using namespace std; typedef long long ll; typedef pair<int,int>PII; const int N=200010; int t,n,m; int a[N]; void solve() { cin>>n; map<int,int>ma; for(int i=1;i<=n;i++) { cin>>a[i]; ma[a[i]]++; } for(auto i:ma) if(i.second==1)//题意特判 { cout<<-1<<endl;return ; } int cnt=1; for(auto i:ma)因为是非下降序列,然相同的最后一个数先输出,然后前边的后移一位; { int right=cnt+i.second; cout<<right-1<<' '; for(int i=cnt;i<right-1;i++) cout<<i<<' '; cnt+=i.second; } cout<<endl; } int main() { cin.tie(0);cout.tie(0);ios::sync_with_stdio(0); cin>>t; while(t--) { solve(); } return 0; }
CodeCraft-22 and Codeforces Round #795 (Div. 2)B. Shoe Shuffling
最新推荐文章于 2024-05-31 14:03:48 发布