#6882. C.Trout V(鳟鱼 V)
C.Trout V(鳟鱼 V)
NZIC 2026 Round 1(新西兰信息学竞赛 2026 第三轮)
#C. Trout V(鳟鱼 V)
输入: 标准输入(stdin) 输出: 标准输出(stdout) 内存限制: 256 MB 时间限制: 0.5 秒
- problem statement
- submit
- submissions
提示
这道题与之前的 Trout 系列题目,只是在主题背景上有关联。
题目描述
在建立了一套基于 TCP(Trout Communication Protocol,鳟鱼通信协议)的、拥有无法破解加密技术的间谍网络之后,鳟鱼们现在已经把全部精力投入到了征服整个世界这件事上。
事实证明,征服整个星球是一件相当昂贵的事情。
鳟鱼们产生了大量开销,比如:
- 花费 10 亿美元购买一个精神控制装置;
- 花费 200 万美元购买黄粉虫;
等等各种各样的支出。
鳟鱼们有一份包含:
笔支出的清单。
其中,第 (i) 笔支出的金额为:
美元和:
美分。
鳟鱼们希望知道:
到目前为止,所有支出的总金额是多少。
鳟鱼们当然正忙着征服世界,因此它们请你帮忙编写一个程序,计算这些支出的总金额。
毫无疑问,当鳟鱼们再也不需要担心这些尚未处理的账目时,它们的种群数量一定会受到影响。
输入格式
第一行包含一个整数:
N
表示支出的数量。
接下来的 (N) 行,每行包含两个用空格分隔的整数:
d_i c_i
表示第 (i) 笔支出的金额为:
- (d_i) 美元;
- (c_i) 美分。
输出格式
在一行中输出所有 (N) 笔支出的总金额。
输出格式必须满足:
- 最前面带一个美元符号
$; - 恰好保留两位小数;
- 每三个数字之间使用一个逗号
,分隔。
例如:
$1,074,000.26
数据范围
对于所有:
都有:
以及:
总支出金额保证不会超过:
美元。
子任务
- 子任务 1(+26%):
总金额小于:
$1,000
- 子任务 2(+25%):
每一笔支出都是整数美元。
也就是说,没有美分部分。
- 子任务 3(+31%):
总支出金额不超过:
美元。
- 子任务 4(+18%):
没有额外限制。
注意事项
如果你使用的是对整数类型比较敏感的语言,比如:
- C++
- Java
- C
那么需要使用 64 位整数类型,以避免整数溢出。
64 位整数类型包括:
- C / C++:
long long - C# / Java:
long
样例输入 1
3
1 72
0 64
5 0
样例输出 1
$7.36
样例输入 2
4
12 0
3 0
17 0
82 0
样例输出 2
$114.00
样例输入 3
2
1000000 12
74000 14
样例输出 3
$1,074,000.26
| 测试点编号 | 层级 | N | 数据特征 | 覆盖点与设计目的 |
|---|---|---|---|---|
| 1 | 弱数据 | 1 | 金额为零 | 检查最小规模、零值及 $0.00 格式 |
| 2 | 3 | 美分累计为 10 | 检查多项累加和美分前导零 | |
| 3 | 正常数据 | 2 | $999.99 + $0.01 |
检查美分进位及千分位临界点 |
| 4 | 4 | 多个较大金额,美分累计产生两美元进位 | 检查多项累计、多级千分位和 .00 输出 |
|
| 5 | 极限数据 | 5 | 总金额接近 long long 安全上界 |
检查大整数运算和多级逗号格式化 |