Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
39795 黄子睿 【S】T1 C++ 通过 100 115 MS 720 KB 1121 2026-02-02 14:34:04

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N]; int dis[N]; int vis[N]; int sum[N]; int t,n,k; int main(){ scanf("%d",&t); while(t--){ scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); dis[1]=a[1]; int f=2; int ji=1; for(int i=2;i<=n;i++){ if(a[i]!=a[i-1]){ vis[f-1]=ji; dis[f]=a[i]; f++; ji=0; } ji++; } vis[f-1]=ji; int ans=vis[1]; int w=vis[1]; int l=1,r=1; while(r!=f-1){ if(r-l<k&&dis[r+1]==dis[r]+1){ r++; w+=vis[r]; ans=max(ans,w); } else if(r-l==k&&dis[r+1]==dis[r]+1){ l++; w-=vis[l-1]; } else{ l=r+1,r=r+1; w=vis[r]; ans=max(ans,w); } } printf("%d\n",ans); } return 0; }


测评信息: