站外题,求助(玄关)
  • 板块灌水区
  • 楼主electric_fire
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/26 19:50
  • 上次更新2024/10/26 20:24:06
查看原帖
站外题,求助(玄关)
1109115
electric_fire楼主2024/10/26 19:50

题目描述

小码君在悬崖边发现了一株灵芝,小码君想把灵芝摘下来煲汤。

小码君共有N个梯子(1 ≤ N ≤ 20,000),每个梯子有自己的高度Hi(1 ≤ Hi ≤ 10,000),N个梯子的总高度为S。灵芝高度为B(1 ≤ B ≤ S < 2,000,000,007).

为了摘到灵芝,小码君把梯子都接到一起(没有损失高度),直到梯子的总高度高于灵芝高度。为了帮助小码君摘到灵芝,找出使用梯子数目最少的解决方案吧。

输入格式

第1行:空格隔开的整数N和B 第2~N+1行:第i+1行为整数Hi

输出格式

能摘到灵芝所使用梯子的最少数目

样例

输入样例

14 10

3 7 8 5 7 7 7 2 8 9 4 6 6 6 输出样例

2

(就只有这个样例)

我的代码如下:

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, b;
	cin >> n >> b;
	int a[n];
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	sort(a + 1, a + 1 + n);
	int sum = 0;
	for (int i = n; i <= 1; i--) {
		if (b >0) {
			sum++;
			b = b - a[i];
		}	
	}
	cout<<sum;
	return 0;
}
2024/10/26 19:50
加载中...