A.Gamer Hemose
Problem Analysis
题目大意:给你一堆技能的伤害值 a i {a_i} ai,以及敌人的血量 H H H。要求同一技能不能连续重复使用。求至少使用多少次技能能够讲敌人的血量 H H H降到 0 0 0及以下?
思路:很明显的贪心,尽可能选取伤害大的技能打敌人,但是又不能连续使用同意技能。那么退而求其次就最大技能和次大技能交替使用。除法计算出需要多少次最大技能+次大技能(向下取整),如果这些次数的技能不足以杀死敌人,那么就额外单独判断一次是否达到。
Accepted Code
#include
using namespace std;
const int N = 1e3 + 10;
int a[N];
signed main(){
ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int t = 0; cin >> t;
while(t--){
int n, h; cin >> n >> h;
for(int i = 1; i > a[i];
sort(a + 1, a + 1 + n);
int div = floor(h / (a[n] + a[n - 1]));
if(div * (a[n] + a[n - 1]) >= h) cout
关注
打赏
热门博文
- 回坑记之或许是退役赛季?
- [LCT刷题] P1501 [国家集训队]Tree II
- [LCT刷题] P2147 洞穴勘测
- 2022-2023 ICPC Brazil Subregional Programming Contest VP记录
- [线段树套单调栈] 2019-2020 ICPC Asia Hong Kong Regional Contest H.[Hold the Line]
- The 2021 ICPC Asia Nanjing Regional Contest E.Paimon Segment Tree 区间合并线段树/维护矩阵乘法
- CF580E - Kefa and Watch 线段树维护哈希
- HDU5869 Different GCD Subarray Query 离线查询/区间贡献
- 27.CF1004F Sonya and Bitwise OR 区间合并线段树
- 26.CF1000F One Occurrence