#C2026XSR3E. 徽章订单(badge)

徽章订单(badge)

文件输入输出提示

本题采用文件输入输出。提交代码时,请在 main 函数开头加入文件重定向,并从 badge.in 读入、输出到 badge.out

freopen("badge.in", "r", stdin);
freopen("badge.out", "w", stdout);

题目描述

苗苗负责为信奥活动的每位同学准备一枚纪念徽章。

订购徽章的费用由徽章本身和包装盒两部分组成,计算方式如下:

  • 一共订购 nn 枚徽章。
  • 如果 nn 不少于 30,每枚徽章的价格为 pdp-d 元;否则每枚价格为 pp 元。
  • 徽章需要装入包装盒。每个包装盒最多装 8 枚徽章,每个包装盒价格为 ff 元。
  • 包装盒必须买够,不能有徽章没有包装盒。

现在给定 n,p,d,f,bn,p,d,f,b,请你求出总费用,并判断预算 bb 是否足够。

输入格式

从文件 badge.in 中读入数据。

输入一行五个整数 n,p,d,f,bn,p,d,f,b,含义如下:

  • nn:订购徽章数量;
  • pp:每枚徽章原单价;
  • dd:满足优惠条件时,每枚减少的金额;
  • ff:每个包装盒价格;
  • bb:预算。

输出格式

输出到文件 badge.out 中。

输出两行。

第一行输出一个整数,表示总费用。

第二行输出 YESNO。若预算足够支付总费用,输出 YES;否则输出 NO

输入输出样例 #1

输入 #1

35 12 2 5 410

输出 #1

375
YES

说明/提示

订购 35 枚徽章,不少于 30 枚,因此每枚价格为 122=1012-2=10 元,徽章费用为 35×10=35035\times 10=350 元。

35 枚徽章需要 55 个包装盒,包装盒费用为 5×5=255\times 5=25 元。

总费用为 350+25=375350+25=375 元,预算 410410 元足够。

输入输出样例 #2

输入 #2

7 9 4 6 60

输出 #2

69
NO

数据范围与子任务

对于所有数据,满足:

  • 1n1091\le n\le 10^9
  • 1p1091\le p\le 10^9
  • 0dp0\le d\le p
  • 0f1090\le f\le 10^9
  • 0b10180\le b\le 10^{18}
测试点编号 nn 的限制 特殊性质
121\sim 2 1n201\le n\le 20 不享受优惠
343\sim 4 1n10001\le n\le 1000 预算一定足够
565\sim 6 nn88 的倍数
7107\sim 10 1n1091\le n\le 10^9

badge_大样例.zip