题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
贪心加递归
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
const int N = 1e6;
int a[N],n,k,L,r;
LL ans;
void f(int i,int n)
{
int m = r - i - n + 1;
ans+=a[i];
if(k-1>=m) for(int i=r;i>=r-n+2;i--) ans+=a[i];
else f(i+k,n-1);
}
int main()
{
scanf("%d%d%d",&n,&k,&L);
for(int i=0;i<n*k;i++) scanf("%d",&a[i]);
sort(a,a+n*k);
int l = 0;
r = n*k - 1;
while(l<r)
{
int mid = l + r + 1 >> 1;
if(a[mid]<=a[0]+L) l = mid;
else r = mid - 1;
}
if(r>=n-1) f(0,n);
printf("%lld\n",ans);
return 0;
}