#PRODPR001. PROD-PR-001 实操一 渠道转化指标

    ID: 862 Type: Default 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>代码实操数据产品开发技术人员专项基础与进阶题族:PROD-PR-001公开样题公开样题

PROD-PR-001 实操一 渠道转化指标

PROD-PR-001 · 数据产品开发技术人员 · 专项 · 满分 25 分 · 基础与进阶

可提交 C、C++、Java、Python 3 和 Node.js。评测机没有安装 Kotlin、PyPy,也没有支持大整数的 GNU awk,因此不开放 Kotlin、PyPy 和 Bash。

业务与规则

1. 输入day为统计日序号,不是日期字符串;区间[start,end]含两端。所有渠道均输出,包括无事件渠道。

2. 按渠道独立计算:VISIT用户去重数、PAY用户去重数、PAY金额之和。每条PAY事件代表一笔独立支付,没有重复事件;同用户可有多笔支付。

3. 输入保证各渠道区间内的PAY用户均在该渠道该区间有VISIT事件,因此支付人数≤访问人数。

4. 转化率=支付人数/访问人数;访问人数为0时取0。金额按整数分输出,不将不同渠道用户做全站去重。

输入

第一行k n start end;随后k行渠道名称;随后n行day channel user event amount。event为VISIT或PAY,VISIT金额=0,PAY金额≥0。

输出

按渠道字典升序,每行:channel visit_users pay_users amount_sum conversion_rate;转化率保留6位小数。

范围

1≤k≤100;0≤n≤100000;1≤start≤end≤365;day∈[1,365];amount≤1e12分。建议2秒、256MB,按语言校准。转化率容许1e-6误差,其余字段精确匹配。

样例输入

2 6 1 2
WEB
APP
1 WEB U1 VISIT 0
1 WEB U1 VISIT 0
2 WEB U1 PAY 100
2 WEB U2 VISIT 0
2 WEB U1 PAY 50
3 APP U3 VISIT 0

样例输出

APP 0 0 0 0.000000
WEB 2 1 150 0.500000

附件中的 sample.in、sample.out 与上面样例一致,不计入 25 分。计分点见测试配置,按点给分。

整数和文本按空白分隔后的 token 精确比较;小数允许绝对误差或相对误差 1e-6。时限 2 秒、内存 256MB;Java、Python 3 和 Node.js 时限按 2 倍,Java 内存按 2 倍。

题族:PROD-PR-001。状态:公开样题。组卷:否。公开:是。