This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "fish.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll dp1[305][305],dp2[305][305],dp0[305][305];
int n,m;
ll arr[305][305];
ll max_weights(int N,int M,vector<int> X,vector<int> Y,vector<int> W) {
n=N;
m=M;
for(int i=0;i<M;++i){
++X[i],++Y[i];
}
for(int i=0;i<M;++i){
arr[X[i]][Y[i]]=W[i];
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
dp0[i][j]=arr[i][j]+dp0[i][j-1];
}
}
for(int i=1;i<=n;++i){
for(int j=0;j<=n;++j){
for(int k=0;k<=n;++k){
if(k==j){
dp1[i][j]=max(dp1[i][j],dp1[i-1][k]);
}
else if(k<j){
dp1[i][j]=max(dp1[i][j],dp1[i-1][k]+dp0[i-1][j]-dp0[i-1][k]);
}
else{
dp1[i][j]=max(dp1[i][j],dp1[i-1][k]+dp0[i][k]-dp0[i][j]);
}
}
}
}
ll ans=0;
for(int j=0;j<=n;++j) ans=max(ans,dp1[n][j]);
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... |