#P1040. 商场倒闭清仓活动

    ID: 52 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 入门 ← 上一题 下一题 → 随机一题 上传者: 标签 模拟 数学 字符串 分类讨论
显示设置

商场倒闭清仓活动

题目描述

某个商场要倒闭了,为了清仓举办了一个优惠活动。给定若干顾客的购买金额和购买商品的种类,请你计算每位顾客的实际支付金额,并输出所有顾客实付金额的总和。

对每位顾客,实付金额按以下规则计算:

先按购买金额确定折扣:

购买金额 aa(元) 折扣
a≥10000a \ge 10000 八折(×0.80\times 0.80)
5000≤a<100005000 \le a < 10000 八五折(×0.85\times 0.85)
2000≤a<50002000 \le a < 5000 九折(×0.90\times 0.90)
1000≤a<20001000 \le a < 2000 九五折(×0.95\times 0.95)
a<1000a < 1000 不打折

再根据商品种类额外减免一部分金额(在打折之后扣除):

  • 若商品种类为 electronics(电子产品):购买金额 ≥5000\ge 5000 元时减免 100100 元,否则减免 5050 元;
  • 若商品种类为 clothing(服装):购买金额 ≥5000\ge 5000 元时减免 200200 元,否则减免 5050 元;
  • 其他种类不享受额外减免。

也就是说,某位顾客的实付金额为

购买金额×折扣−额外减免\text{购买金额} \times \text{折扣} - \text{额外减免}

注意:测试数据中,商品种类不局限于电子产品和服装。

输入格式

第一行一个整数 nn,表示顾客人数。

接下来 nn 行,每行两个用空格隔开的项:第一个为非负整数,表示购买金额(元);第二个为字符串,表示商品种类。

输出格式

输出一行,一个数,表示所有顾客实付金额的总和,保留两位小数。

输入输出样例 #1

输入 #1

1
10500 electronics

输出 #1

8300.00

输入输出样例 #2

输入 #2

1
4800 clothing

输出 #2

4270.00

说明

所有顾客实付金额的总和最大可达约 1.6×10231.6 \times 10^{23} 元。

样例解释

样例一:10500≥1000010500 \ge 10000,享受八折;商品种类为 electronics 且金额 ≥5000\ge 5000,额外减免 100100 元。

10500×0.80−100=8400−100=830010500 \times 0.80 - 100 = 8400 - 100 = 8300

因此输出 8300.00。

样例二:48004800 落在 [2000,5000)[2000, 5000) 区间,享受九折;商品种类为 clothing 且金额 <5000< 5000,额外减免 5050 元。

4800×0.90−50=4320−50=42704800 \times 0.90 - 50 = 4320 - 50 = 4270

因此输出 4270.00。

数据范围

  • 对于 100%100\% 的数据,1≤n≤2×1051 \le n \le 2 \times 10^5,0≤0 \le 购买金额 ≤1018\le 10^{18},商品种类为不超过 6363 个字符的、由小写字母组成的字符串。