CF508C Anya and Ghosts

题目描述

Anya 喜欢看恐怖电影。遵循恐怖片的最佳传统,今晚将有 $m$ 个幽灵拜访她。Anya 为这些幽灵准备了许多蜡烛,每根蜡烛可以恰好点亮 $t$ 秒。点燃一根蜡烛需要她花费 1 秒的时间。更正式地说,Anya 可以花 1 秒点燃一根蜡烛,然后这根蜡烛会燃烧恰好 $t$ 秒,之后就熄灭并不能再使用。 对于每一个幽灵,Anya 都知道它到来的具体时间:第 $i$ 个幽灵将在午夜过后 $w_{i}$ 秒到来,所有 $w_{i}$ 均互不相同。每次幽灵拜访恰好持续 1 秒。 Anya 最少需要用多少根蜡烛,才能保证每次幽灵到访时都有至少 $r$ 根蜡烛正在燃烧?Anya 可以在距离午夜整数秒的任意时刻开始点燃蜡烛,可以在午夜之前或者之后点燃。换句话说,她可以在任意整数时刻点燃一根蜡烛。

输入格式

第一行包含三个整数 $m$、$t$、$r$($1 \leq m, t, r \leq 300$),分别表示幽灵的数量、每根蜡烛的燃烧时间,以及每次幽灵到访时至少需要燃烧的蜡烛数。 第二行包含 $m$ 个用空格分隔的数字 $w_{i}$($1 \leq i \leq m$,$1 \leq w_{i} \leq 300$),第 $i$ 个数字表示第 $i$ 个幽灵将在午夜后 $w_{i}$ 秒到达。所有 $w_{i}$ 均互不相同且严格递增。

输出格式

如果可以确保每次幽灵到访时至少有 $r$ 根蜡烛点着,输出 Anya 需要点燃的最少蜡烛数;如果无法做到,输出 $-1$。

说明/提示

Anya 可以在幽灵到访的同一秒开始点燃蜡烛。但在这次拜访时,这根蜡烛不算作已点燃。 点燃蜡烛需要正好 1 秒时间,只有在点燃之后,这根蜡烛才算作点燃。也就是说,如果 Anya 在时刻 $x$ 开始点燃蜡烛,这根蜡烛会从 $x+1$ 秒至 $x+t$ 秒持续燃烧。 在第一个样例中,点燃三根蜡烛就足够。例如,Anya 可以在午夜后第 3 秒、第 5 秒和第 7 秒分别开始点燃蜡烛。 在第二个样例中,一根蜡烛就足够。例如,Anya 可以在午夜前 1 秒开始点燃蜡烛。 在第三个样例中,答案为 $-1$,因为在任意时刻最多只能有一根蜡烛点燃,但 Anya 需要三根蜡烛照亮房间。 由 ChatGPT 5 翻译