qsort,60分,c

P2676 [USACO07DEC] Bookshelf B

@[RAN111](/user/1180916) `for(int i=1;i<=n;i++)` 为啥 `i` 不是从零开始?
by Terrible @ 2023-12-27 15:04:21


可以看看我写的 ```c #include<stdio.h> #include<stdlib.h> int a[20000]; int cmp(void*a,void*b){return *(int*)b-*(int*)a;} int main() { int n,h,sum=0;scanf("%d%d",&n,&h); for(int i=0;i<n;i++)scanf("%d",a+i); qsort(a,n,sizeof(*a),cmp); for(int i=0;i<n;i++)if((sum+=a[i])>=h) return printf("%d",i+1),0; return 0; } ```
by Terrible @ 2023-12-27 15:10:35


@[RAN111](/user/1180916) 什么是qsort?
by 呆呆的她啊 @ 2023-12-27 15:47:20


@[呆呆的她啊](/user/226167) 盲猜是 C 语言 `<stdlib.h>` 下的一个快排函数
by heyx0201 @ 2023-12-27 16:04:39


@[Terrible](/user/195942) 谢谢了,我知道错哪了, sum+=a[i-1]就对了,呃一开始想着直接print i就可以直接得到数量,忘了i和下标的对应关系
by RAN111 @ 2023-12-27 22:19:39


@[Terrible](/user/195942) 嗯对思路都差不多,我就是细节上有点问题
by RAN111 @ 2023-12-27 22:21:50


@[呆呆的她啊](/user/226167) 莫名可爱哈哈
by RAN111 @ 2023-12-27 22:28:27


|