rt,O(n3) 做法可拿 70 pts。
#include <iostream>
#define int long long
using namespace std;
const int N = 1e5 + 10;
int n, a[N], s[N], ans = -1;
signed main()
{
ios::sync_with_stdio(0); cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
s[i] = s[i - 1] + a[i];
}
for (int i = 1; i <= n; i++)
{
for (int j = i; j <= n; j++)
{
int minn = 1e9;
for (int k = i; k <= j; k++)
minn = min(minn, a[k]);
ans = max(ans, minn * (s[j] - s[i - 1]));
}
}
cout << ans << '\n';
return 0;
}
评测记录