Submission #626281

#TimeUsernameProblemLanguageResultExecution timeMemory
626281dariascCatfish Farm (IOI22_fish)C++17
9 / 100
30 ms4180 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
#define vec vector
#define ll long long

long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
                      std::vector<int> W) {

  ll fish[N];
  memset(fish, 0, sizeof fish);
  for (int i = 0; i < M; i++) {
    fish[X[i]] = W[i];
  }

  ll dp[N];
  memset(dp, 0, sizeof dp);
  for (int x = 0; x < N; x++) {
    ll l = 0;
    if (x > 0) {
      l = fish[x-1];
    }
    ll r = 0;
    if (x < N-1) {
      r = fish[x+1];
    }
    dp[x] = l + r;
    if (x > 2) {
      dp[x] += dp[x-3];
    }

    if (x > 1) {
      dp[x] = max(dp[x], dp[x-2] + r);
    }
    if (x > 0) {
      dp[x] = max(dp[x], dp[x-1] - fish[x] + r);
    }
  }

  ll best = 0;
  for (int x = 0; x < N; x++) {
    best = max(best, dp[x]);
  }

  return best;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...