2834: 小凯的书架http://acm.zzuli.edu.cn/problem.php?id=2834注意k大于n的情况。
此题数据较大,注意输出输入的时候用scanf,printf。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
typedef long long LL;
LL a[300005];
int main()
{
int t;
cin>>t;
while(t--)
{
int n,k;
cin>>n>>k;
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
if(k>=n)
{
for(int i=1;i<=n;i++) printf("-1\n");
continue;
}
for(int i=1;i<=k;i++) printf("-1\n");
for(int i=k+1;i<=n;i++)
{
int p=0;
for(int j=i-1; j>=1; j--)
{
if(a[j]>a[i]) p++;
if(p==k)
{
printf("%lld\n",a[j]);
break;
}
}
if(p<k) printf("-1\n");
}
}
return 0;
}