제출 #1133543

#제출 시각아이디문제언어결과실행 시간메모리
1133543nuutsnoynton오렌지 출하 (JOI16_ho_t1)C++20
100 / 100
30 ms724 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;
ll dp[200005];
int main() {
	ll n, m, r, x, y, i, j,cnt1,cnt, ans, t,s, mx, mn, k;
	
	cin >> n >> m >> k;
	dp[0] = 0;
	ll a[n + 2];
	
	for (i = 1; i<= n; i++) cin >> a[i];
	for (i = 1; i <= n; i ++) dp[i] = LONG_MAX;
	for (i = 1; i <= n; i++) {
		mx = mn = a[i];
		for (j = i; j >= max(i - m + 1, 1ll); j--) {
			mx = max(mx, a[j]);
			mn = min(mn, a[j]);
			dp[i] = min(dp[i], (i - j + 1) * (mx - mn) + k+ dp[j - 1]);
		}
	}
	cout << dp[n] << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...