Codeforces 1633 C. Kill the Monster —— 暴力

This way

题意:

你和一个怪物激情回合制对砍,每个人都有血量和攻击力。你现在有k个硬币,每个硬币都可以使你的血量增长a或者使你的攻击力增长w,问你合理搭配硬币是否能赢。

题解:

这…我们可以看到k的总和不超过2e5,那么我们只需要枚举多少个硬币给血量,剩下的给攻击力即可。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=2e5+5;
char s[N];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        ll h[2],d[2],k,w,a;
        scanf("%lld%lld%lld%lld%lld%lld%lld",&h[0],&d[0],&h[1],&d[1],&k,&w,&a);
        int f=0;
        for(ll i=0;i<=k;i++){
            ll nh=h[0]+i*a,nd=d[0]+(k-i)*w;
            if((nh+d[1]-1)/d[1]>=(h[1]+nd-1)/nd){
                f=1;
                break;
            }
        }
        printf("%s\n",f?"YES":"NO");
    }
    return 0;
}

上一篇:Keepalived


下一篇:CF678F Lena and Queries