x=int(input())
s=list(map(int,input().split()))[::-1]
for n in range(1,x):
s[n]=max(0,min(s[n-1]-1,s[n]))
print(sum(s))
#include <bits/stdc++.h>
using namespace std;
# define ll long long int
int main() {
ll n;
cin>>n;
ll arr[n];
for(int i=0;i<n;i++) {
cin>>arr[i];
}
ll count=arr[n-1];
ll k=arr[n-1];
for(int i=n-2;i>=0;i--) {
if(k-1>=0){
ll j=min(k-1,arr[i]);
count+=j;
k=j;
}
}
cout<<count;
return 0;
}
1428B - Belted Rooms | 519B - A and B and Compilation Errors |
1152B - Neko Performs Cat Furrier Transform | 1411A - In-game Chat |
119A - Epic Game | 703A - Mishka and Game |
1504C - Balance the Bits | 988A - Diverse Team |
1312B - Bogosort | 1616B - Mirror in the String |
1660C - Get an Even String | 489B - BerSU Ball |
977C - Less or Equal | 1505C - Fibonacci Words |
1660A - Vasya and Coins | 1660E - Matrix and Shifts |
1293B - JOE is on TV | 1584A - Mathematical Addition |
1660B - Vlad and Candies | 1472C - Long Jumps |
1293D - Aroma's Search | 918A - Eleven |
1237A - Balanced Rating Changes | 1616A - Integer Diversity |
1627B - Not Sitting | 1663C - Pōja Verdon |
1497A - Meximization | 1633B - Minority |
688B - Lovely Palindromes | 66B - Petya and Countryside |