제출 #1309078

#제출 시각아이디문제언어결과실행 시간메모리
1309078lyra_g13Feast (NOI19_feast)C++20
0 / 100
169 ms327680 KiB
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);

  ll n, k;
  cin >> n >> k;

  vector<ll> a(n);
  vector<ll> pref(n + 1);
  vector<vector<ll>> dp(k + 1, vector<ll>(n + 1));
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 1; i <= n; i++) {
    pref[i] = pref[i - 1] + a[i - 1];
  }

  for (int j = 1; j <= k; j++) {
    ll best = -4e18;

    for (int i = 1; i <= n; i++) {

      best = max(best, dp[j - 1][i - 1] - pref[i - 1]);

      dp[j][i] = best + pref[i];
      dp[j][i] = max(dp[j][i - 1], dp[j][i]);

    }
  }
  cout << dp[k][n] << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...