测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A12016. Chattering

编程题 普及/提高-

题目描述

There are $n$ parrots standing in a circle. Each parrot has a certain level of respect among other parrots, namely $r_i$ . When a parrot with respect level $x$ starts chattering, $x$ neighbours to the right and to the left of it start repeating the same words in 1 second. Their neighbours then start repeating as well, and so on, until all the birds begin to chatter.

You are given the respect levels of all parrots. For each parrot answer a question: if this certain parrot starts chattering, how many seconds will pass until all other birds will start repeating it?

输入格式

In the first line of input there is a single integer $n$ , the number of parrots ( $1 \leq n \leq 10^5$ ).

In the next line of input there are $n$ integers $r_1$ , ..., $r_n$ , the respect levels of parrots in order they stand in the circle ( $1 \leq r_i \leq n$ ).

输出格式

Print $n$ integers. $i$ -th of them should equal the number of seconds that is needed for all parrots to start chattering if the $i$ -th parrot is the first to start.

输入输出样例

输入 #1
4
1 1 4 1
输出 #1
2 2 1 2 
输入 #2
8
1 2 2 1 5 1 3 1
输出 #2
3 3 2 2 1 2 2 3 
上一题 去做题 下一题