牛牛参加了大胃王比赛,面前摆上了 道美食,若已知每道美食能够提供的饱腹感以及牛牛感到吃撑时的饱腹感至少需要多少,那么,牛牛最少吃几份能够吃撑自己,请告诉他一种吃美食方案。
区块链毕设网qklbishe.com为您提供问题的解答
牛牛参加了大胃王比赛,面前摆上了 道美食,若已知每道美食能够提供的饱腹感以及牛牛感到吃撑时的饱腹感至少需要多少,那么,牛牛最少吃几份能够吃撑自己,请告诉他一种吃美食方案。
贴一份c++,常规贪心
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n; cin >> n; while (n--) { int nums, satiety; cin >> nums >> satiety; //> 同时记住位置 vector<pair<int, int>> food(nums); for (int i = 0; i < nums; ++i) { int a; cin >> a; food[i] = {a,i+1}; } sort(food.begin(), food.end(), [](pair<int,int> a, pair<int,int> b) {return a.first > b.first;}); int sum = 0; int index = 0; //> 贪心 while (sum < satiety && index < nums) { sum += food[index++].first; } if (sum >= satiety) { cout << index << endl; for (int i = 0; i < index; ++i) { cout << food[i].second << " "; } cout << endl; } else cout << -1 << endl; } return 0; }
40:41
以上就是关于问题牛牛参加了大胃王比赛,面前摆上了 道美食,若已知每道美食能够提供的饱腹感以及牛牛感到吃撑时的饱腹感至少需要多少,那么,牛牛最少吃几份能够吃撑自己,请告诉他一种吃美食方案。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训