拯救小鸡
题目背景
- 露出鸡脚了吧……
题目描述
鸡国最近遇到了一件很棘手的事情,经常有一只老冯想来抓小鸡炖鸡汤。经鸡国情报员探查,这只老冯打算共来袭击 \(n\) 次,第 \(i\) 次来的时刻为第\(t_i (1 \le i \le n)\) 秒时刻。
鸡国国王菜虚鲲为了保护鸡国中的小鸡,决定派出鸡国警察(鸡国有无穷多个警察)来巡逻。每个警察巡逻的时间长度都为 \(t\) 秒。当老冯来袭击的时刻至少要有 \(x\) 名警察才能抵御老冯的袭击。另外国王派遣警察有两个原则:
每个时刻最多只能派遣一名警察。在第 \(0\) 秒时刻及第 \(0\) 秒之前的时刻(鸡国有负数时刻)也可以事先准备派遣警察,但每个时刻最多也只能派遣一名警察。
延迟 \(1\) 秒执行巡逻任务。第 \(i\) 秒时刻派遣的警察,在第 \(i+1\) 到 \(i+t\) 秒时刻执行巡逻任务。
为帮助国王节省开支,请帮忙计算至少需要派遣多少名警察才能保证鸡国小鸡不被老冯抓走?
格式
输入格式
输入共\(2\)行。
第\(1\)行输入三个整数\(n,t,x\),分别表示老冯总共袭击次数,每个警察巡逻的时间长度为 \(t\),以及某个时刻能抵挡住老冯袭击的最少警察数量。
第\(2\)行 \(n\) 个严格升序排列的正整数\(t_i (1 \le i \le n)\),表示第\(t_i\)秒时刻老冯会发动袭击。
输出格式
输出\(1\)行一个整数,表示总共至少需要派遣多少个警察才能抵御老冯的 \(n\) 次袭击,如果出现无法抵御老冯的袭击时,输出"\(-1\)"(不包含双引号)。
样例1
样例输入1
3 3 3
2 3 4
样例输出1
5
样例解释
老冯来袭击 \(3\) 次,分别在第 \(2,3,4\) 秒时刻,每个警察的巡逻时间为 \(3\) 秒,当老冯来袭击时至少要有 \(3\) 名警察才能抵御老鹰的袭击。首先可以在第 \(-1,0,1\) 秒三个时刻分别派遣一名警察,抵御老鹰第 \(2\) 秒时刻的袭击,然后再在第 \(2\) 秒时刻派遣一名警察,连同第 \(0,1\) 秒两个时刻派遣的警察(此时第 \(-1\) 秒时刻派遣的警察已经休息)就可以抵御老鹰第 \(3\) 秒时刻的袭击,最后在第 \(3\) 秒时刻派遣一名警察,连同第 \(1,2\) 秒两个时刻派遣的警察(此时第 \(0\) 秒时刻派遣的警察也已经休息)就可以抵御老鹰第 \(4\) 秒时刻的袭击,所以至少需要派遣 \(5\) 名警察。
限制
\(100\%\)的数据:\(1≤n,t,x≤10000\),\(1≤t_i≤10000\)(保证不重复)。