제출 #1297134

#제출 시각아이디문제언어결과실행 시간메모리
1297134efegPeru (RMI20_peru)C++20
18 / 100
1099 ms34056 KiB
#include <bits/stdc++.h> #include "peru.h" using namespace std; using i64 = long long; const int MOD = 1e9 + 7; i64 add(i64 x,i64 y){ return (x % MOD + y % MOD) % MOD; } i64 mul(i64 x,i64 y){ return (x % MOD * (y % MOD)) % MOD; } int solve(int n, int k, int* v){ vector<i64> dp(n + 1,2e18); dp[0] = v[0]; for (int i = 1; i < k; i++){ dp[i] = max(dp[i-1],(i64) v[i]); } for (int i = k; i < n; i++){ i64 mx = v[i]; for (int j = i-1; j >= max(i - k,0); j--){ dp[i] = min(dp[i], dp[j] + mx); mx = max(mx,(i64) v[j]); } cerr << dp[i] << " "; } i64 pw = 1,ans = 0; for (int i = n-1; i > -1; i--){ ans = add(ans,mul(dp[i],pw)); pw = mul(pw,23); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...