赞
踩
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的价格买到这个货。
每家商店更新一下最小值即可。
#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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。