小明在玩一种卡牌游戏他有 n 张卡牌每张卡牌上写着一个正整数 a i 表示该卡牌对敌人的伤害值即打出这张卡牌会使敌人的血量减少 a i 。已知敌人的血量为 b当敌人的血量小于等于 0 时小明就取得了胜利。小明需要按照顺序依次使用每张牌对敌人造成伤害。小明想知道他使用了多少卡牌之后就可以取得胜利了。如果用光所有卡牌依然不能取得胜利需要输出 −1。输入描述第一行两个空格隔开的正整数nb1≤n≤10
#include
int main() { int n, b; cin >> n >> b;
vector<int> cards(n);
for(int i = 0; i < n; i++) {
cin >> cards[i];
}
sort(cards.begin(), cards.end());
int count = 0;
int totalDamage = 0;
for(int i = 0; i < n; i++) {
totalDamage += cards[i];
count++;
if(totalDamage >= b) {
cout << count << endl;
return 0;
}
}
cout << -1 << endl;
return 0;
原文地址: https://www.cveoy.top/t/topic/h8qI 著作权归作者所有。请勿转载和采集!