Caddi Programming Contest 2021(AtCoder Beginner Contest 193)-B - Play Snuke-题解

目录


题目大意

N家商店都有很火爆的一种物品。其中第i家商店与Takahashi的距离是 A i A_i Ai​,售价是 P i P_i Pi​,共有 X i X_i Xi​个。

每家商店都是一分钟卖出去一个,问Takahashi最少花多少钱才能买到一个。
不能买到输出 − 1 -1 −1。


解题思路

到商店需要时间为A,这期间共卖出A个货(假设可以卖成负的),如果Takahashi 到了还有剩余(X>A),那么就能以P的价格买到这个货。
每家商店更新一下最小值即可。


AC代码

#include <bits/stdc++.h>
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
#define dbg(x) cout << #x << " = " << x << endl
#define fi(i, l, r) for (int i = l; i < r; i++)
#define cd(a) scanf("%d", &a)
typedef long long ll;

int main()
{
    int N;
    cin >> N;
    bool ifCan = false; //是否可以买到(初始值是false)
    int m = 1e9 + 1;
    while (N--)
    {
        int a, b, c;
        scanf("%d%d%d", &a, &b, &c);
        if (a < c) //可以买到
        {
            ifCan = true; //可以买到
            m = min(m, b); //更新最小花费
        }
    }
    if (ifCan)
        printf("%d\n", m);
    else
        printf("-1\n");
    return 0;
}
上一篇:ICPC Southeast USA 2020 Regional Contest Problem A: Ant Typing(思维)


下一篇:Contest 3/14