rendered paste body#include <stdio.h>#include <malloc.h>#include <stdlib.h>int *inp;int *ans;int n;int find_next_zero(void);void sub_till(int );int main(){ int i, index = 0; scanf("%d", &n); inp = (int *)(malloc(sizeof(int)*n)); ans = (int *)(malloc(sizeof(int)*n)); for(i = 0 ; i < n ; i++) scanf("%d", &inp[i]); for(i = n ; i > 0 ; i--) { index = find_next_zero(); if(index == -1) { printf("-1"); exit(0); } else { ans[index] = i; sub_till(index); } } for(i = 0 ; i < n ; i++) printf("%d ", ans[i]); return 0;}int find_next_zero(void){ int i; for(i = 0 ; i < n ; i++) if(inp[i] == 0) return i; return -1;}void sub_till(int index){ int i; for(i = 0 ; i <= index ; i++) inp[i] = inp[i] - 1;}