#DEPR002. DE-PR-002 实操二 渠道订单汇总
DE-PR-002 实操二 渠道订单汇总
DE-PR-002 · 数据工程技术人员 · 综合 · 满分 25 分 · 基础进阶综合
可提交 C、C++、Java、Python 3 和 Node.js。评测机没有安装 Kotlin、PyPy,也没有支持大整数的 GNU awk,因此不开放 Kotlin、PyPy 和 Bash。
业务与规则
1. 客户表customer_id唯一,所属渠道在给定渠道列表内;渠道列表唯一。
2. 订单表中同order_id可能出现多次,先保留version最大者,版本相同保留输入较后者。之后才判断状态与关联。
3. 只计入最新记录status=PAID且customer_id存在于客户表的订单;其他订单忽略。
4. 每个渠道输出有效订单数、去重客户数和金额合计,金额按分输出;渠道无订单也输出0。按渠道字典升序。
输入
第一行k,随后k行渠道名称。下一行m,随后m行customer_id channel。下一行n,随后n行order_id customer_id version status amount;status为PAID或CANCELLED,amount为非负整数分。
输出
共k行:channel order_count customer_count amount_sum。
范围
1≤k≤100;0≤m,n≤100000;version≤1e9,amount≤1e12分;汇总额用64位整数。所有编号与渠道仅含大写字母、数字。建议3秒、256MB,按语言校准。
样例输入
3
WEB
APP
SHOP
2
C1 WEB
C2 APP
5
O1 C1 1 PAID 100
O1 C1 2 CANCELLED 100
O2 C2 1 PAID 200
O3 CX 1 PAID 300
O4 C2 1 PAID 50
样例输出
APP 2 1 250
SHOP 0 0 0
WEB 0 0 0
附件中的 sample.in、sample.out 与上面样例一致,不计入 25 分。计分点见测试配置,按点给分。
整数和文本按空白分隔后的 token 精确比较;小数允许绝对误差或相对误差 1e-6。时限 2 秒、内存 256MB;Java、Python 3 和 Node.js 时限按 2 倍,Java 内存按 2 倍。
题族:DE-PR-002。状态:公开样题。组卷:否。公开:是。