Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36098 | 1233456a | 【S】T2 | C++ | 通过 | 100 | 544 MS | 672 KB | 655 | 2025-02-07 15:44:37 |
#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; }