输入:
测试实例
接下了N,M(N为打印个数,m为你的打印位置从0开始)
接下了N个数表示优先级(数字大的优先);
输出打印到M需要打印几份
#include<iostream>
#include<cmath>
using namespace std;
const int maxn=100+5;
int main()
{
int loop;
cin>>loop;
while(loop--)
{
int n,m;
cin>>n>>m;
int st,ed,a[maxn];
for(int i=0;i<n;i++)
cin>>a[i];
a[m]=-a[m];
st=0;ed=n;
int cnt=0;
while((ed+1)%maxn!=st)
{
int k=a[st];
st=(st+1)%maxn;
bool print=true;
for(int i=st;i!=ed;i=(i+1)%maxn)
if(fabs(k)<fabs(a[i]))
{
print=false;
a[ed]=k;
ed=(ed+1)%maxn;
break;
}
if(print)
{
++cnt;
if(k<0)
{
cout<<cnt<<endl;
break;
}
}
}
}
return 0;
}