B4409 [GESP202509 一级] 商店折扣

题目描述

商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 xxx 元减 yyy 元;第二种方案是直接打 nnn 折,也就是说价格变为原先的 n/10n/10n/10。这里的 x,y,nx, y, nx,y,n 均是正整数,并且 1≤y<x1 \leq y < x1y<x1≤n<101 \leq n < 101n<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 1001y<x1001≤n<101 \leq n < 101n<101≤p≤1001 \leq p \leq 1001p100

#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;
}

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐