fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int Nmax = 1e6;
  5.  
  6. int n;
  7. int a[Nmax],p[Nmax];
  8.  
  9. bool check(){
  10. for(int i=0;i<n-1;i++){
  11. if(a[i+1]-a[i]!=p[i]) return false;
  12. }
  13. return true;
  14. }
  15.  
  16. int main()
  17. {
  18. cin>>n;
  19. for(int i=0;i<n-1;i++){
  20. cin>>p[i];
  21. a[i]=i+1;
  22. }
  23. a[n-1]=n;
  24. int flag=0;
  25. do{
  26. if(check()==true) {
  27. flag=1;
  28. break;
  29. }
  30. }while(next_permutation(a,a+n));
  31. if(flag){
  32. for(int i=0;i<n;i++){
  33. cout<<a[i]<<" ";
  34. }
  35. cout<<endl;
  36. }
  37. else cout<<-1<<endl;
  38. return 0;
  39. }
Success #stdin #stdout 0s 23048KB
stdin
Standard input is empty
stdout