3831: 灌溉花园
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:13
解决:7
题目描述
有一个长度为 n 的花园,从 0 到 n 标记了 n+1 个点。花园里有 n+1 个水龙头,第 i 个水龙头可以灌溉的区域是 [i - ranges[i], i + ranges[i]](其中 ranges[i] 是非负整数)。
你需要打开最少数量的水龙头,使得整个花园(从 0 到 n 的所有点)都能被灌溉。如果无法灌溉整个花园,返回 -1。
输入
第一行输入一个整数 n(1 ≤ n ≤ 1000),表示花园的长度(信奥适配:降低原题 n ≤ 10^4 的限制,适配信奥数据范围)。
第二行输入 n+1 个非负整数,表示数组 ranges(0 ≤ ranges[i] ≤ 1000)。
输出
输出一个整数,表示灌溉整个花园需要打开的最少水龙头数量;若无法灌溉,输出 -1。
样例输入 复制
5
3 4 1 1 0 0
样例输出 复制
1