数据过水
查看原帖
数据过水
824800
donnieguo楼主2025/1/20 14:33

rt,O(n3)O(n^3) 做法可拿 7070 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;
}

评测记录

2025/1/20 14:33
加载中...