Submission #1264357

#TimeUsernameProblemLanguageResultExecution timeMemory
1264357goulthenDischarging (NOI20_discharging)C++20
36 / 100
1096 ms8632 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define pb push_back

const int MAXN = 1e6 + 10;
const int INF = 1e18+10;
int a[MAXN], dp[MAXN];



int32_t main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int n;cin >> n;
	rep(i,1,n) cin >> a[i];
	reverse(a+1,a+n+1);
	rep(i,1,n) {
		dp[i] = INF;
		int mx = a[i];
		per(j,i,1) {
			mx = max(mx, a[j]);
			dp[i] = min(dp[i], dp[j-1] + mx*i);
		}
	}

	cout << dp[n] << '\n';
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...