您当前的位置: 首页 > 

HeartFireY

暂无认证

  • 3浏览

    0关注

    334博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Codeforces Round #746 (Div. 2) A、B

HeartFireY 发布时间:2021-10-04 21:28:10 ,浏览量:3

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             
关注
打赏
1662600635
查看更多评论
0.0398s