1 条题解

  • 0
    @ 2026-4-12 15:59:49
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    int n,c,k,t[N];
    int dfs(int w,int s)
    {
    	if(w==n+1)return s;
    	s++;int m=c-1;
    	int l=w;
    	while(l<n&&t[l+1]<=t[w]+k&&m>0)l++,m--;
    	return dfs(l+1,s);
    }
    int main()
    {
    	scanf("%d%d%d",&n,&c,&k);
    	for(int i=1;i<=n;i++)scanf("%d",&t[i]);
    	sort(t+1,t+n+1);
    	printf("%d\n",dfs(1,0));
    	return 0;
    }
    
    • 1

    信息

    ID
    8741
    时间
    2000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    21
    已通过
    13
    上传者