题解 | 小红的整数配对

小红的整数配对

https://www.nowcoder.com/practice/66b9810e4fe34956a8d1f5c67aacc6dc

#include <stdio.h>
#include <stdlib.h>

int compare(const void*a, const void*b){
    return(*(int*)a - *(int*)b);
}

int main(void) {
    int n, k;
    scanf("%d%d", &n, &k);

    int a[100005];
    for(int i = 0; i < n; i++)
        scanf("%d", &a[i]);
    
    qsort(a, n, sizeof(int), compare);

    long long sum = 0;
    int i = n-1;
    while(i >= 1){
        int j = abs(a[i]-a[i-1]);
        if(j <= k){
            sum += (long long)a[i]*a[i-1];
            i -= 2;
        }
        else
            i--;
    }
    printf("%lld", sum);

    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务