提交时间:2025-02-07 15:36:06

运行 ID: 36091

#include <bits/stdc++.h> using namespace std; int a[10005], n; signed main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } long long ans = 0; for (int i = 1; i <= n; i++) { priority_queue <int> dq; priority_queue <int, vector <int>, greater <int> > xq; for (int j = i; j <= n; j++) { if (j == i) dq.push(a[j]); else if (dq.top() >= a[j]) dq.push(a[j]); else xq.push(a[j]); if (dq.size() - 1 > xq.size()) { xq.push(dq.top()); dq.pop(); } else if (xq.size() > dq.size()) { dq.push(xq.top()); xq.pop(); } if (((j - i) & 1) == 0) { ans += 1ll * i * j * dq.top(); } } } printf("%lld", ans); return 0; }