B4409 [GESP202509 一级] 商店折扣
·
B4409 [GESP202509 一级] 商店折扣
题目描述
商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 xxx 元减 yyy 元;第二种方案是直接打 nnn 折,也就是说价格变为原先的 n/10n/10n/10。这里的 x,y,nx, y, nx,y,n 均是正整数,并且 1≤y<x1 \leq y < x1≤y<x,1≤n<101 \leq n < 101≤n<10。
需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 101010 元减 333 元时,若挑选了价格总和为 333333 元的物品,只能减免 333 元,需要支付 303030 元。
小明在商店挑选了价格总和为 ppp 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?
输入格式
四行,四个正整数 x,y,n,px, y, n, px,y,n,p,含义见题目描述。
输出格式
一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。
输入输出样例 #1
输入 #1
8
7
9
10
输出 #1
3.00
输入输出样例 #2
输入 #2
8
7
2
11
输出 #2
2.20
说明/提示
对于所有测试点,保证 1≤y<x≤1001 \leq y < x \leq 1001≤y<x≤100,1≤n<101 \leq n < 101≤n<10,1≤p≤1001 \leq p \leq 1001≤p≤100。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; // 严格要求
int main(){
ios :: sync_with_stdio(0); // 提高cin、cout的运行速度
ll x, y, n, p;
double sum1 = 0, sum2 = 0;
cin >> x >> y >> n >> p;
//方案1
if(p >= x){
sum1 = p - y;
}
else{
sum1 = p;
}
//方案2
sum2 = p * (n / 10.0);
cout << fixed << setprecision(2) << min(sum1, sum2) << endl;
return 0;
}
更多推荐

所有评论(0)