AT_atcoder12live_a.Volume Control
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在音乐会中,有 N 名演奏者横向一列排成一排,演奏时长为 T 秒。我们把从左起第 i 个(0≤i≤N−1)演奏者称作演奏者 i。
对于每个演奏者,默认音量基准值为 0。指挥可以在每一秒选择一组满足 0≤L≤R≤N−1 的整数 (L,R) 以及一个整数 dV,指示满足 L≤i≤R 的所有演奏者 i,将音量变更 dV。在时刻 t 被指示变更音量的演奏者,从时刻 t 起(包括 t)之后的音量都会改变 dV。
如果多次指示变更音量,音量变化量将累计。例如,在时刻 0 让演奏者 i 的音量增加 1,在时刻 1 又让演奏者 i 的音量减少 2,那么在时刻 1 其音量为 1−2=−1。
每个时刻 t,每个演奏者 i,都会给出理想音量 Vt,i。希望指挥尽可能指挥,使实际音量与理想音量之差的绝对值总和尽量小。
输入格式
输入依次给出演奏者人数 N,演奏时长 T,以及每时刻 t 下每位演奏者 i 的理想音量 Vt,i。
N T
V0,0 ⋯ V0,N−1
⋮
VT−1,0 ⋯ VT−1,N−1
其中各数据满足以下约束:
- N=50
- T=500
- −3≤Vt,i≤3
输出格式
请按以下格式输出在每一时刻的指示。
L0 R0 dV0
⋮
LT−1 RT−1 dVT−1
- Lt,Rt 为本次变更音量的演奏者范围,必须满足 0≤Lt≤Rt≤N−1。
- dVt 为变更的音量,必须满足 ∣dVt∣≤50。
输入输出样例
输入#1
5 3 0 0 0 0 0 0 -1 -1 -1 0 1 2 2 2 2
输出#1
0 0 0 1 3 1 1 4 -3
说明/提示
得分说明
设时刻 t,演奏者 i 的实际音量为 Vt,i′,则与理想音量的差值总和为
S′=t=0∑T−1i=0∑N−1∣Vt,i−Vt,i′∣
如果没有任何指示,则差值总和 S0=∑t=0T−1∑i=0N−1∣Vt,i∣。本测试数据的得分为 max(S0−S′+1,0)。
测试数据共有 100 组,每个测试数据的分数之和即为本次提交的得分。若有至少一组数据输出不合法或超时,则本次提交整体判定为 WA 或 TLE。
输入生成方法
Vt,i 的生成方式如下:
- 将每个 Vt,i 初始化为 0。
- 对每个 t,随机生成 0≤a,b≤N−1 的整数 a,b 和 d∈{−1,1},然后对满足 min(a,b)≤i≤max(a,b) 的所有 i,将 Vt,i 增加 d。
- 步骤2重复三次。
工具(输入生成器和可视化器)
- 网页版:高性能支持动画显示。
- 本地版:需要Rust编译环境。
- Windows 版编译好的可执行文件:若不想配置 Rust 环境可用。
比赛期间,禁止分享可视化结果、解题方法与讨论等。
样例说明 1
本输入样例仅作说明之用,不保证满足实际约束条件。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?