fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long int
  4. const int M = 1e9 + 7;
  5.  
  6. //Microsoft OA 21 Aug
  7.  
  8. int main()
  9. {
  10. ios_base::sync_with_stdio(false);
  11. cin.tie(NULL);
  12.  
  13. int n, k;
  14. cin >> n >> k;
  15. vector<int> v(n);
  16. for (int i = 0; i < n; i++)
  17. cin >> v[i];
  18. multiset<int> st;
  19. st.insert(0);
  20. vector<int> dp(n);
  21. for (int i = 1; i < n; i++)
  22. {
  23. int mi = *st.begin();
  24. dp[i] = v[i] + mi;
  25. st.insert(dp[i]);
  26. if (st.size() > k)
  27. st.erase(dp[i-k]);
  28. }
  29.  
  30. cout << dp[n - 1] << endl;
  31. return 0;
  32. }
Success #stdin #stdout 0.01s 5320KB
stdin
7 2
1 2 5 5 1 1 6
stdout
12