竞赛讨论区 > 终焉之理
头像
&托马斯&
发布于 2019-11-07 22:04
+ 关注

终焉之理

#include <bits/stdc++.h>
using namespace std;

int T,n,k,ans;
struct data {
    int s,x;
} a[100010];

bool cmp(data x,data y) {
    if(x.s!=y.s) return x.s<y.s;
    return x.x<y.x;
}

int main() {
    cin>>T;
    while(T--) {
        ans=0;
        cin>>n>>k;
        for(int i=1;i<=n;i++) {
            cin>>a[i].s;
            a[i].x=i;
        }
        sort(a+1,a+1+n,cmp);
        for(int i=1;i<=n;i++) {
            if(i<a[i].x) {
                ans=max(ans,(a[i].x-i-1)/(k-1)+1);
             }
        }
        cout<<ans<<"\n";
    }
    return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐