#include <bits/stdc++.h>
#pragma GCC optimize("trapv")
#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;
ans %= mod;
pw = pw * 23 % mod;
}
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
4444 KB |
Output is correct |
2 |
Runtime error |
6 ms |
8796 KB |
Execution killed with signal 6 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
4444 KB |
Output is correct |
2 |
Runtime error |
6 ms |
8796 KB |
Execution killed with signal 6 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
4444 KB |
Output is correct |
2 |
Runtime error |
6 ms |
8796 KB |
Execution killed with signal 6 |
3 |
Halted |
0 ms |
0 KB |
- |