CF216C-题解

原题链接 Link

思路分析

可以发现 \(n + m\) 天之后必然是循环的。所以考虑前 \(n + m\) 天。

首先第一天必然要雇佣 \(k\) 个人。然后一天一天往后扫,直到遇到一天不足 \(k\) 人。假设这一天只有 \(x\) 人。如果 \(x=0\),那么先在前一天雇佣一个人拿钥匙,然后再在这一天雇佣 \(k-1\) 个人(为了使人数最少,显然雇佣越晚越好)。否则直接在这一天雇佣 \(k-x\) 人。

最后要考虑 \(n+m+1\) 天能否拿到钥匙。由于循环性,这一天的上班人数已经够了(第一天的 \(k\) 个人回来了),但如果从 \(m + 1\) 天开始都没有雇佣过员工,会出现没有钥匙的情况。要单独判断,再多雇佣一个人送钥匙

AC 代码