为什么这么写会半对半错呢
查看原帖
为什么这么写会半对半错呢
833124
BIOS楼主2023/8/24 20:40
#include <iostream>
using namespace std;
#define int long long
int p, n, res2;
struct node
{
    int v, w;
} e[2];
signed main()
{
    cin >> n >> e[0].v >> e[0].w >> e[1].v >> e[1].w;
    if (e[0].w * e[1].v < e[1].w * e[0].v)
        p = 0;
    else
        p = 1;
    int res = 0, sum = 0;
    while (sum + e[p].v <= n)
        res += e[p].w, sum += e[p].v;
    res2 = res, res += e[p].w, p ^= 1;
    int k = n - sum;
    while (k > 0)
        res2 += e[p].w, k -= e[p].v;
    cout << min(res2, res) << endl;
}

如题,不是很理解为什么会这样

2023/8/24 20:40
加载中...