Codeforces Round #700 (Div. 2) B(简单思维)

Posted 行码棋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #700 (Div. 2) B(简单思维)相关的知识,希望对你有一定的参考价值。

B

思路:
骑士有一个生命值,先把所有怪兽的伤害值减掉,然后加上所有怪兽的最大攻击值,判断其与0的大小。为什么呢?可能最后一次骑士打死怪兽之后就会死亡,只要加上最大的攻击值就会回到进行最后一次攻击前的状态,如果此时骑士的生命值大于0,就可以打死所有怪兽。

注意:数据要开ll,因为乘法会爆int

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef pair<int ,int> pii;
const int N = 1e5+5;

ll a[N],b[N];
ll A,B,n;
void solve()
{
    cin>>A>>B>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    for(int i=1;i<=n;i++) B-=(b[i]+A-1)/A*a[i];
    if((B+*max_element(a+1,a+1+n))>0) cout<< "YES\\n";
    else cout<< "NO\\n";
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int _;cin>>_;
    while(_--){
        solve();
    }
}

以上是关于Codeforces Round #700 (Div. 2) B(简单思维)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #364 (Div. 1) 700B(树)

Codeforces Round #700 (Div. 2) B(简单思维)

Codeforces Round #436 E. Fire(背包dp+输出路径)

Codeforces Round #519 by Botan Investments

[ACM]Codeforces Round #534 (Div. 2)

Codeforces Round #726 (Div. 2) B. Bad Boy(贪心)