qsort,60分,c
查看原帖
qsort,60分,c
1180916
RAN111楼主2023/12/27 14:21
#include<stdio.h>
#include<stdlib.h>
int cmp(void *a,void *b)
{
    int x,y;
    x=*(int *)a;
    y=*(int *)b;
    if(x>y)return -1;
    if(x<y)return 1;
    return 0;
}
int main(void)
{
    int n,h,sum=0;
    scanf("%d%d",&n,&h);
    int a[n];
    for(int i=0;i<n;i++)scanf("%d",&a[i]);
    qsort(a,n,sizeof(*a),cmp);
    for(int i=1;i<=n;i++){
        sum+=a[i];
        if(sum>=h){
            printf("%d",i);
            break;
        }
    }
}

给的数据比较大看不出错哪了,不知道是不是思路有问题。我就是先倒序,再求和,高度到了就输出i并break

2023/12/27 14:21
加载中...