Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define lli long long int
- #define gc getchar
- #define sc scanint
- #define FL(i,a,b) for(lli i=a;i<b;i++)
- #define t9 1000000007
- lli mod(lli a,lli b){
- return a-b*(a/b);
- }
- lli po(lli a, lli b,lli MOD=t9)
- {
- lli x=1,y=a;
- while(b > 0)
- {
- if(b%2 == 1)
- {
- x=(x*y);
- if(x>MOD) x=mod(x,MOD);
- }
- y = (y*y);
- if(y>MOD) y=mod(y,MOD);
- b /= 2;
- }
- return x;
- }
- void scanint(lli &x)
- {
- register lli c = gc();
- x = 0;
- for(;(c<48 || c>57);c = gc());
- for(;c>47 && c<58;c = gc())
- {x = (x<<1) + (x<<3) + c - 48;}
- }
- using namespace std;
- int main() {
- // your code goes here
- lli t;
- sc(t);
- while(t--){
- lli n;
- sc(n);
- lli a[51];int sum=0;int max=-5;int c0=0,c1=0,count=0;
- FL(i,0,n){
- sc(a[i]);
- sum=sum+a[i];
- if(a[i]>max) max=a[i];
- if(a[i]==0) c0++;
- else if(a[i]==1) c1++;
- }
- if(sum!=n) printf("-1\n");
- else if(max==n) printf("-1\n");
- else if(c0>n-2) printf("-1\n");
- // else if(c1==n){
- // FL(i,2,n+1) printf("%lld ",i);
- // printf("1\n");
- // }
- else{
- lli flag=1;lli p=0,q=1;
- while(flag){
- if(a[q]!=0){
- printf("%lld ",q+1);
- a[q]--;
- p++;
- q=p+1;
- count=0;
- }
- else{
- q++;
- count++;
- }
- if(count>n+10) break;
- if(q>=n) q=0;
- if(p>=n) p=0;
- }
- printf("\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement