题目
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[500005],b=7;
int maxx(int x,int y){
int k=-1e9;
for(int i=x;i<=y;i++){
k=max(k,a[i]);
}
return k;
}
int m(int x,int y){
if(y-x<=5) return maxx(x,y);
return (m(x,(x+y)/2)%max(maxx((x+y)/2+1,y),b))+(a[(+y)/2]-1);
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cout<<m(1,n);
return 0;
}