#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
#define all(a) a.begin(), a.end()
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) {
vector<int> ord;
for (int i=0; i<M; i++) ord.pb(i);
sort(all(ord), [&](int i, int j) {
return Y[i] < Y[j];
});
vector<ll> dp(M);
dp[0] = W[ord[0]];
if (1<M) dp[1] = max(W[ord[0]], W[ord[1]]);
if (2<M) dp[2] = max({W[ord[1]], W[ord[0]]+W[ord[2]]});
for (int i=3; i<M; i++) {
dp[i] = dp[i-2] + W[ord[i-1]];
dp[i] = max(dp[i], dp[i-1]);
dp[i] = max(dp[i], dp[i-3] + W[ord[i-2]] + W[ord[i]]);
}
return dp.back();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |