36 lines
737 B
C++
36 lines
737 B
C++
#include<iostream>
|
|
using namespace std;
|
|
bool bi(int f[],int n,int j){
|
|
for(int i=1;i<=j;i++){
|
|
if(f[i]==n){
|
|
return 0;
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
int main(){
|
|
int n,a[1001]={0},f[1001]={0};
|
|
int pan=0;
|
|
cin>>n;
|
|
for(int i=1;i<n;i++){
|
|
cin>>a[i];
|
|
}
|
|
for(int i=a[1]-1;i>0;i--){
|
|
f[1]=i;
|
|
for(int j=2;j<=n;j++){
|
|
int we=a[j-1]-f[j-1];
|
|
if(we>0&bi(f,we,j-1)==1){
|
|
f[j]=we;
|
|
pan=j;
|
|
}else{
|
|
break;
|
|
}
|
|
}
|
|
if(pan==n){
|
|
for(int j=1;j<=n;j++){
|
|
cout<<f[j]<<" ";
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
} |