|  | 
 
| 
比较简单的贪心
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 问题描述
 kAc有n堆糖果,每堆有A[i]个。
 kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~
 //第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪的微笑...
 输入格式
 第一行两个数字n和m,第二行有n个数字A[i]。
 输出格式
 输出一行表示最多能拿几个糖果。
 样例输入
 2 2
 1 2
 样例输出
 3
 
 
 复制代码#include<stdio.h>
#include<stdlib.h>
int A[1001];
int cmpfunc(const int* a, const int* b) {
        return (*(int*)a - *(int*)b);
}
int main() {
        int n, m;
        scanf("%d%d", &n, &m);
        int i;
        long long res = 0;
        for (i = 0; i < n; i++) {
                scanf("%d", &A[i]);
        }
        i--;
        qsort(A, n, sizeof(int), cmpfunc);   // 快速排序,从小到大
        while (m) {
                res += A[i--];
                m--;
        }
        printf("%d", res);
        return 0;
}
 报错如图
 
   
 
  input4.txt
(9.6 KB, 下载次数: 0)  output4.txt
(13 Bytes, 下载次数: 0) 
a327904410 发表于 2022-3-28 15:15啥意思
试试将你函数里的参数改成 void | 
 |