작성
·
475
0
#include<iostream>
using namespace std;
int n, a[1000004], b[1000004];
int main(){
cin >> n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
if(a[i]<a[i+1]){
b[i]=a[i+1];
}else if(a[i]>a[i+1]){
int k=i, temp=i;
for(int j=i;j<n-1;j++){
if(a[j]<a[j+1])break;
k++;
}
for(int j=temp;j<=k;j++){
b[j]=a[k+1];
}
int flag=1;
for(int j=i;j<n-1;j++){
if(a[i]<a[j+1]){
flag=0;
break;
}
}
if(flag)b[i]=-1;
}
}
b[n-1]=-1;
for(int i=0;i<n;i++){
cout << b[i] << " ";
}
}