#include <bits/stdc++.h>
using namespace std;

int main() {
    int a, b, x, y;
    cin >> a >> b >> x >> y;
    int ans = 60;
    for(int i = 0;i <= 20;i++){
        for(int j = 0;j <= 20;j++){
            for(int k = 0;k <= 20;k++){
                if(i * x + k * y >= a && j * x + k * y >= b){
                    ans = min(ans, i + j + k);
                }
            }
        }
    }
    cout << ans << "\n";
}

模拟,直接看分别对两个怪物的火球术以及一起对两只怪物的烈焰风暴造成的伤害即可,只要伤害的和都大于等于他们的血量就更新答案。

数据范围可以通过。