CF1139B.Chocolates

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Chocolates

You went to the store, selling nn types of chocolates. There are aia_i chocolates of type ii in stock.

You have unlimited amount of cash (so you are not restricted by any prices) and want to buy as many chocolates as possible. However if you buy xix_i chocolates of type ii (clearly, 0xiai0 \le x_i \le a_i), then for all 1j<i1 \le j \lt i at least one of the following must hold:

  • xj=0x_j = 0 (you bought zero chocolates of type jj)
  • xj<xix_j \lt x_i (you bought less chocolates of type jj than of type ii)

For example, the array x=[0,0,1,2,10]x = [0, 0, 1, 2, 10] satisfies the requirement above (assuming that all aixia_i \ge x_i), while arrays x=[0,1,0]x = [0, 1, 0], x=[5,5]x = [5, 5] and x=[3,2]x = [3, 2] don't.

Calculate the maximum number of chocolates you can buy.

Input

The first line contains an integer nn (1n21051 \le n \le 2 \cdot 10^5), denoting the number of types of chocolate.

The next line contains nn integers aia_i (1ai1091 \le a_i \le 10^9), denoting the number of chocolates of each type.

Output

Print the maximum number of chocolates you can buy.

Note

In the first example, it is optimal to buy: 0+0+1+3+60 + 0 + 1 + 3 + 6 chocolates.

In the second example, it is optimal to buy: 1+2+3+4+101 + 2 + 3 + 4 + 10 chocolates.

In the third example, it is optimal to buy: 0+0+0+10 + 0 + 0 + 1 chocolates.

Samples

5
1 2 1 3 6
10
5
3 2 5 4 10
20
4
1 1 1 1
1

在线编程 IDE

建议全屏模式获得最佳体验