#include <bits/stdc++.h> using namespace std; const int MAX = 1e5+9; int arr[MAX]; int arr1[MAX]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>arr[i]; } for(int i=1;i<=n;i++){ arr1[i]=i-1; while(arr[arr1[i]]>=arr[i]){ arr1[i]=arr1[arr1[i]]; } if(arr1[i]==0) cout<<-1<<' '; else cout<<arr[arr1[i]]<<' '; } return 0; }
#include <iostream> using namespace std; const int N = 100010; int a[N], y; int main() { int n; scanf("%d",&n); while (n -- ) { int x; scanf("%d", &x); while (y&&a[y]>= x) y--; if (!y) cout<<-1<<' '; else cout<<a[y]<<' '; a[++y] = x; } return 0; }