提交时间:2025-02-07 15:44:37

运行 ID: 36098

#include<bits/stdc++.h> using namespace std; long long n,a[11451],t1[114514],t2[114514],ans; int main() { cin>>n; for(long long i=1;i<=n;i++) { cin>>a[i]; } for(long long i=1;i<=n;i++) { long long x=n; for(long long j=i-1;j>0;j--) { if(a[j]>a[i])x++; else x--; t1[x]+=j; } x=n; for(long long j=i+1;j<=n;j++) { if(a[j]>a[i])x++; else x--; t2[x]+=j; } x=0; for(long long j=i-1;j>=1;j--){ if(a[j]<a[i])x--; else x++; ans+=j*t2[n-x]*a[i]; } ans+=i*t1[n]*a[i]; ans+=i*t2[n]*a[i]; ans+=i*i*a[i]; for(long long j=1;j<=2*n-1;j++)t1[j]=t2[j]=0; } cout<<ans; }