Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36078 | Mengmohan | 【S】T2 | C++ | 解答错误 | 75 | 544 MS | 2764 KB | 744 | 2025-02-07 15:15:33 |
#include<bits/stdc++.h> using namespace std; const int N=1e4+10; long long ans; int n,a[N],sum; vector<int> cnt[N<<1]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++){ sum=0; for(int j=i;j>=1;j--){ if(a[j]>a[i]) sum++; else if(a[j]<a[i]) sum--; cnt[sum+N].push_back(j); } sum=0; for(int j=i;j<=n;j++){ if(a[j]>a[i]) sum++; else if(a[j]<a[i]) sum--; for(int k=0;k<cnt[N-sum].size();k++){ ans+=cnt[N-sum][k]*j*a[i]; } } for(int j=1;j<N<<1;j++) cnt[j].clear(); } printf("%lld",ans); return 0; }