题目大意
有 n 个坦克,从1到n编号,它们要进行消息传输。
每一次传输如下,列表中第一个坦克将信息传输到列表中的某个坦克。接收到该消息的坦克将其进一步发送到列表后的某个坦克。该过程将继续进行,直到最后一个坦克收到消息。可能不是列表中的所有坦克都会收到消息,但列表中的最后一个储罐必须收到消息。
当最后一个坦克收到消息时,它将挪到第一个位置,并发送一条消息。当信息到达最后一个坦克时,该储罐移动到列的开头,并将下一条信息发送到列表的末尾,依此类推。因此,当列中的坦克返回到其原始顺序时,练习就完成了。
在两个坦克之间传输信息需要一秒钟,然而,并非总是一个坦克可以将信息传输给另一个坦克。让我们考虑列中的两个坦克,使它们中的第一个是从开始计数的列中的第i个,第二个是列中的j个,并假设第二个坦克的编号为x。然后,如果i<j and i>=j−ax 则可以传输。
你会得到坦克的数量,以及所有坦克的信息接收半径。您必须帮助Smart Beaver并组织消息传输,使所有消息的总传输时间尽可能短。
输入格式
第一行一个正整数 n (1≤n≤250000)
接下来 n 行,第 i+1 行为 ai
输出格式
一行一个正整数,表示答案