제출 #876486

#제출 시각아이디문제언어결과실행 시간메모리
876486MinaRagy06Peru (RMI20_peru)C++17
18 / 100
631 ms17132 KiB
#include <bits/stdc++.h>
#include "peru.h"
#ifdef MINA
#include "grader.cpp"
#endif
using namespace std;
#define ll long long

const int N = 2'500'005, mod = 1e9 + 7;
const ll inf = 1e18;
ll dp[N], a[N];
int solve(int n, int k, int *v) {
	for (int i = 0; i < n; i++) {
		a[i + 1] = v[i];
	}
	for (int i = 1; i <= n; i++) {
		dp[i] = inf;
		ll c = 0;
		for (int j = i; j > max(0, i - k); j--) {
			c = max(c, a[j]);
			dp[i] = min(dp[i], dp[j - 1] + c);
		}
	}
	int ans = 0;
	ll pw = 1;
	for (int i = n; i >= 1; i--) {
		ans += pw * (dp[i] % mod) % mod;
		ans %= mod;
		pw = pw * 23 % mod;
	}
	return ans;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...