[关闭]
@Metralix 2016-12-08T02:16:33.000000Z 字数 325 阅读 808

M - Cheap Travel

莫名奇妙wa系列 c++


题目大意

坐n次地铁,m张票卖b元,单张a元,问最小花费

解题思路

先对前k*m个票判断一下,是买套票便宜还是单票便宜
再对后面的余数判断一下,是买一张没用完的套票合算,还是买单票。
这样结果就出来啦。
  1. #include <cstdio>
  2. #include <cstring>
  3. #include <algorithm>
  4. using namespace std;
  5. int main () {
  6. int n, m, a, b;
  7. scanf("%d%d%d%d", &n, &m, &a, &b);
  8. int k = n / m, ans = 0;
  9. ans = min(k * m * a, k * b);
  10. k = n % m;
  11. ans += min(k * a, b);
  12. printf("%d\n", ans);
  13. return 0;
  14. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注