#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void chmax(ll &a , ll b)
{
a = max(a , b);
}
const ll INF = 1e18;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W)
{
vector<ll> val(N+1);
for(int i = 0 ;i < M ; i++)
{
val[X[i]+1] = W[i];
}
ll ans = 0;
vector<vector<vector<vector<ll>>>> dp(2 , vector<vector<vector<ll>>>(2 , vector<vector<ll>>(2 ,vector<ll>(N+1 , -INF))));
for(int i = 0 ; i < 2 ; i++)
{
for(int j = 0 ; j < 2 ; j++)
{
dp[i][0][j][0] = 0;
}
}
for(int i = 1 ; i <= N ; i++)
{
for(int b = 0 ;b < 2 ; b++)
{
for(int a = 0 ; a < 2 ;a++)
{
if(a == 1 && i == N)
continue;
for(int cur = 0 ; cur< 2 ;cur++)
{
ll add = 0;
if((b || a ) && cur == 0)
add = val[i];
for(int bb = 0 ; bb < 2 ; bb++)
{
chmax(dp[b][cur][a][i] , dp[bb][b][cur][i - 1] + add);
if(i == N)
ans = max(ans , dp[b][cur][a][i]);
}
}
}
}
}
return ans;
}
# | 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... |