#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define forn(i, n) for (i = 0; i < n; i++)
#define all(x) x.begin(), x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W)
{
vector<vector<ll>> dp(N, vector<ll>(2, 0));
vector<ll> v(N + 2, 0);
ll i;
for (i = 0; i < M; i++)
v[X[i]] = W[i];
dp[0][0]=v[0];
for(i=1; i<N; i++)
{
dp[i][0]=max(dp[i-1][0],dp[i-1][1]+v[i]);
dp[i][1]=max(dp[i-1][0],dp[i-1][1]);
if(i-2>=0)
{
dp[i][1]=max(dp[i-2][0]+v[i-1],dp[i-2][1]);
}
}
return max(dp[N-1][0],dp[N-1][1]);
}
# | 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... |