求解为什么是40分
查看原帖
求解为什么是40分
452428
timelesslab楼主2021/1/2 16:32
# include <iostream>
using namespace std;
typedef long long LL;
LL a[200005];
void quick_sort (LL a[], int l, int r)
{
	if(l >= r)
	return;
	int mid = (r + l) >> 1;
	int i = l - 1, j = r + 1;
	while (i < j)
    {
        do i ++ ; while (a[i] > a[mid]);
        do j -- ; while (a[j] < a[mid]);
        if (i < j) swap(a[i], a[j]);
    }
	quick_sort (a, l, j);
	quick_sort (a, j+1, r);
	return;
}
int main(void)
{
	LL n, ans = 0;
	LL b;
	cin >> n >> b;
	for(int i=0; i<n; ++i)
	    scanf("%d", &a[i]);
    quick_sort (a, 0, n-1);
    LL sum = 0;
    for(int i=0; i<n; ++i)
    {
    	sum += a[i];
    	++ans;
    	if(sum >= b)
    	break;
	}
	cout << ans;
	return 0; 
}
2021/1/2 16:32
加载中...