7-19 C++系列-贪心算法

7-19 C++系列-贪心算法

  • 贪心算法一
    • 最优装载问题1

贪心算法一

最优装载问题1

【问题描述】
有一日,悟空和八戒外出,发现了一颗苹果树,准备摘一些苹果回去,而他们只带了一个袋子,该袋子能承受的重量为C,每个苹果的重量为Wi,他们最多能装多少个苹果呢?
输入:第一行为袋子承重量C和苹果个数n。第二行是n个整数,表示n个苹果的重量。
输出:最多可以装下的苹果数量。
【样例输入】
30 6
10 15 6 8 12 3
【样例输出】
4

#include 
#include 
using namespace std;
int w[1001];
int main() {
	int c,n;
	cin >> c >> n;
	for (int i = 0; i < n; i++)
		cin >> w[i];
	sort(w, w + n);
	int temp = 0,ans = 0;
	for (int i = 0; i < n; i++) {
		temp += w[i];
		if (temp <= c)
			ans++;
		else
			break;
	}
	cout << ans << endl;
	return 0;
}

你可能感兴趣的:(c++,贪心算法,算法)