#include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; const int maxn=2e5+10,maxv=3e5+10; class BST { LL mem[maxv]; public: inline void add(int p,LL v) { for(;p0;p-=p&(-p)) res+=mem[p]; return res; } }num_cnt,value_tot,pre_influence; int n,a[maxn]; LL res=0; int main() { #ifdef local freopen("pro.in", "r", stdin); // freopen("pro.out","w",stdout); #endif scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) { LL delta=0; // printf("i=%d\n",i); delta+=LL(a[i])*num_cnt.query(maxv-1); delta+=value_tot.query(maxv-1); // printf("delta=%lld\n",delta); for(int v=1,L=a[i];L