1 条题解
-
0
单调队列板子
#include <bits/stdc++.h> using namespace std; const int N = 1000010; int a[N]; int n; deque<int> q; int main(){ scanf("%d",&n); for (int i = 1; i <= n; ++i) { scanf("%d",&a[i]); } for (int i = 1; i <= n; ++i) { while(!q.empty() && a[q.back()] <= a[i]) q.pop_back(); q.push_back(i); } for (int i = 0; i <= q.size() - 1; ++i) { printf("%d ",a[q[i]]); } return 0; }
- 1
信息
- ID
- 103
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 57
- 已通过
- 18
- 上传者