题目描述
史莱姆学校最近出了一个排队的活动,所有的史莱姆都很喜欢,排队的规则是这样的,我们有一个很长的队伍,有n个史莱姆,每个史莱姆都有自己的一个身高。每次我们选择前m个史莱姆组成新的小队伍,只有当新的小队伍为m个史莱姆时候,我们会把小队伍中最高的史莱姆输出,然后此时还剩下m-1个史莱姆,我们继续从大队伍中的最前面的一个史莱姆加入到小队伍中,此时小队伍中又有m个史莱姆了,我们继续选取该小队伍中的最高的史莱姆输出。然后继续执行以上操作,直到最后大队伍和小队伍的史莱姆总和不到m个史莱姆,活动结束。
输入格式
输入一个整数n,输入一个整数m
第二行,输入n个整数A[i]
输出格式
输出一行整数
样例
Input 1
3 1 1 2 3
Output 1
1 2 3
数据范围
m<=n<=1000
1<=A[i]<=1e9
\text{My Code}
#include <bits/stdc++.h>
using namespace std;
queue<int> s1;
int s2[1010];
int n,m,a[1010];
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
s1.push(a[i]);
}
for(int i=1;i<=m;i++){
s2[i]=s1.front();
s1.pop();
}
for(int i=m;i<=n;i++){
sort(s2+1,s2+i);
cout<<s2[i]<<" ";
s2[i+1]=s1.front();
s1.pop();
}
return 0;
}
不知道为什么只有 1 和 9 对了