#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> vec(n); vector<int> ans(n, -1); for (int i = 0; i < n; i++) cin >> vec[i]; stack<int> s; s.push(0); for (int i = 1; i < n; i++) { while (!s.empty() && vec[s.top()] < vec[i]) { ans[s.top()] = vec[i]; s.pop(); } s.push(i); } for (int i = 0; i < n; i++) cout << ans[i] << " "; return 0; }
点赞 评论

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务