Submission #761160

#TimeUsernameProblemLanguageResultExecution timeMemory
761160ksu2009enPeru (RMI20_peru)C++17
0 / 100
1 ms340 KiB
#include "peru.h" #include <iostream> #include <vector> #include <string> #include <math.h> #include <cmath> #include <iomanip> #include <cstdio> #include <algorithm> #include <numeric> #include <map> #include <set> #include <queue> #include <stack> #include <deque> #include <bitset> #include <cstring> #include <unordered_map> using namespace std; typedef long long ll; ll const mod = (ll)(1e9 + 7); int solve(int n, int k, int* a){ vector<ll>dp(n); dp[0] = a[0]; for(int i = 1; i < n; i++){ dp[i] = (dp[i - 1] + a[i]) % mod; ll mx = 0; for(int j = i; j >= max(0, i - k + 1); j--){ mx = max(mx, (ll)a[j]); dp[i] = min(dp[i], (mx + (j - 1 >= 0 ? dp[j - 1] : 0)) % mod) % mod; } } ll p = 1; ll ans = 0; for(int i = n - 1; i >= 0; i--){ ans = (ans + (p * dp[i]) % mod) % mod; p = (p * 23) % mod; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...