#include<bits/stdc++.h>
using namespace std;
const int maxn=10005;
int n,a[maxn]={0}; //原数组
int sum1[maxn]={0}; //D[1]+D[2]+D[3]……+D[n]
int sum2[maxn]={0}; //1*D[1]+2*D[2]+……+n*D[n]
int lowbit(int x){return x&(-x);}
void update(int x,int k){
int rec=x;
while(x<=n){
sum1[x]+=k;
sum2[x]+=k*rec;
x+=lowbit(x);
}
}
int getsum(int x){
int rec=x,ans=0;
while(x){
ans+=(rec+1)*sum1[x]-sum2[x];
x-=lowbit(x);
}
return ans;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
update(i,a[i]-a[i-1]);
}
update(1,10),update(3+1,-10);
cout<<getsum(5)-getsum(1-1)<<endl;
return 0;
}
0 条评论