[语言月赛202210] 购物节
题目描述
一个商店有两种包装的本子,第一种是单本装,一本 x x x 元,第二种是十本优惠装,一套 y y y 元。
现在商店推出“双十一”活动,每种包装的本子都优惠 1 元,优惠后价格为单本装 x − 1 x - 1 x−1 元,十本装为 y − 1 y - 1 y−1 元。
小明想要买恰好 n n n 个本子,请问至少需要花多少钱?
注:这里的“恰好”的意义为,不能买少于 n n n 个本子,也不能买超过 n n n 个本子。
输入格式
共一行,包括三个数字 x , y , n x,y,n x,y,n,分别表示单本装的价格,十本优惠装的价格,小明需要的本子的数量。
输出格式
共一个数,表示小明购买 n n n 个本子至少需要花费的钱的数目。
样例 #1
样例输入 #1
10 80 10
样例输出 #1
79
样例 #2
样例输入 #2
10 80 11
样例输出 #2
88
样例 #3
样例输入 #3
10 80 1
样例输出 #3
9
提示说明
样例解释 :
单本装原价 10 10 10 元,十本装原价 80 80 80 元。
优惠后价格为单本装 9 9 9 元,十本装 79 79 79 元。
此时,如果购买 10 10 10 本,则需要 79 79 79 元;如果购买 1 1 1 本,则需要 9 9 9 元;如果购买 11 11 11 本,则需要 88 88 88 元。
数据范围:
对于 20 % 20\% 20% 的数据,满足 n < 10 n < 10 n<10;
对于 另外 20 % 20\% 20% 的数据,满足 n n n 是 10 10 10 的倍数;
对于 80 % 80\% 80% 的数据,满足 0 ≤ n , x , y ≤ 1 0 4 0\le n,x,y\le 10^4 0≤n,x,y≤104
对于 100 % 100\% 100% 的数据,满足 0 ≤ n , x , y ≤ 1 0 9 0\le n,x,y\le 10^9 0≤n,x,y≤109
代码内容
//#include <iostream>
//#include <algorithm>
//#include <string>
//#include <cmath>
//#include <ctime>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll x,y,n;
cin>>x>>y>>n;
ll nums1,nums2,cost;
if((x-1)*10<y-1)//重点考虑
cost=n*(x-1);
else
{
nums1=n/10;
cost=nums1*(y-1);
nums2=n%10;
cost+=nums2*(x-1);
}
cout<<cost<<endl;
return 0;
}