Submission #781514

#TimeUsernameProblemLanguageResultExecution timeMemory
781514acatmeowmeowStove (JOI18_stove)C++11
50 / 100
300 ms262144 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; vector<int> arr(n + 5); for (int i = 1; i <= n; i++) cin >>arr[i]; vector<vector<int>> dp(n + 5, vector<int>(k + 5, 1e18)); unordered_map<int, int> mn; //for (int i = 0; i <= k; i++) mn[i] = 0; //mn[0] = 0; dp[0][0] = 0; for (int i = 1; i <= n; i++) { for (int j = 1; j <= k; j++) { if (!mn.count(j - 1)) mn[j - 1] = 1e18; dp[i][j] = min(dp[i][j], arr[i] + mn[j - 1]); mn[j - 1] = min(mn[j - 1], dp[i - 1][j - 1] - arr[i] + 1); dp[i][j] = min(dp[i][j], arr[i] + mn[j - 1]); } } cout << dp[n][k] << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...