AT_nikkei2019_final_h Homework Scheduling

题目描述

从今天开始,第 $i$ 天称为 Day $i$。例如,今天是 Day $1$,明天是 Day $2$。 马子有 $N$ 个编号为 $1$ 到 $N$ 的作业。她从 Day $1$ 开始,每天选择并完成 $1$ 个作业。若在 Day $A_i$ 或更早完成第 $i$ 个作业,她可以获得 $X_i$ 分;若在 Day $A_i+1$ 或更晚完成,则只能获得 $Y_i$ 分。这里 $X_i > Y_i$。 马子想知道,对于每个 $k$($1 \leq k \leq N$),在 Day $k$ 之前最多能获得多少分。请帮她计算。

输入格式

输入通过标准输入给出,格式如下: > $N$ $A_1$ $X_1$ $Y_1$ $A_2$ $X_2$ $Y_2$ $\cdots$ $A_N$ $X_N$ $Y_N$

输出格式

输出 $N$ 行。第 $k$ 行输出 Day $k$ 之前最多能获得的分数。

说明/提示

## 限制条件 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq A_i \leq N$ - $1 \leq Y_i < X_i \leq 10^9$ - 输入的所有值均为整数。 ## 样例说明 1 对于每个 $k$,最优的作业完成顺序如下: - $k=1$ 时,在 Day $1$ 完成作业 $1$,可得 $10$ 分。 - $k=2$ 时,Day $1$ 完成作业 $2$,Day $2$ 完成作业 $1$,可得 $7+9=16$ 分。 - $k=3$ 时,Day $1$ 完成作业 $2$,Day $2$ 完成作业 $3$,Day $3$ 完成作业 $1$,可得 $7+3+9=19$ 分。 由 ChatGPT 4.1 翻译