CF BUDDY
← Problems·

1139B · Chocolates

1000 · greedy, implementation

Problem: 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 < i at least one of the following must hold:

  • xj=0x_j = 0 (you bought zero chocolates of type jj)
  • xj<xix_j < 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 Format: 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 Format: 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.

Sample Cases

Case 1

Input

5
1 2 1 3 6

Output

10

Case 2

Input

5
3 2 5 4 10

Output

20

Case 3

Input

4
1 1 1 1

Output

1

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback