2 条题解
-
2
这题杀我好久 类似单调队列的思想
#include<bits/stdc++.h> using namespace std; int const N=1e5+10; int a[N]; bool vis[N]; int main() { int n,c; cin>>n>>c; for(int i=1;i<=n;i++) { cin>>a[i]; } int num=n,l=1,r=c,minn,minpos; while(num) { minn=0x3f3f3f3f; for(int i=l;i<=r;i++) { if(!vis[i]&&minn>a[i]) { minn=a[i]; minpos=i; } } cout<<minn<<" "; vis[minpos]=1; num--; bool flag=0; for(int i=minpos-1;i>=1;i--) { if(!vis[i]) { l=i,flag=1; break; } } if(r<n) r++; if(!flag) l++; } return 0; }
- 1
信息
- ID
- 956
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 53
- 已通过
- 8
- 上传者