Submission #1234752

#TimeUsernameProblemLanguageResultExecution timeMemory
1234752MuhammadSaramCatfish Farm (IOI22_fish)C++20
0 / 100
973 ms2162688 KiB
#include "fish.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long

long long max_weights(int n, int m, vector<int> x, vector<int> y,vector<int> w)
{
	ll a[n][n]={};
	for (int i=0;i<m;i++)
		a[x[i]][y[i]+1]=w[i];
	for (int i=0;i<n;i++)
		for (int j=1;j<=n;j++)
			a[i][j]+=a[i][j-1];
	ll dp[n][n][n]={};
	for (int i=0;i<=n;i++)
		for (int j=i;j<=n;j++)
		{
			if (i==j)
				dp[1][i][j]=a[0][j];
			else
				dp[1][i][j]=a[1][j]-a[1][i];
		}
	for (int i=2;i<n;i++)
	{
		for (int h=0;h<=n;h++)
			for (int h1=h;h1<=n;h1++)
				for (int h2=h1*(h<h1);h2<=h1;h2++)
					for (int h3=h2;h3<=n;h3++)
						dp[i][h][h1]=max(dp[i][h][h1],dp[i-1][h2][h3]+max(0ll,a[i][h1]-a[i][h])+max(0ll,a[i-1][h]-a[i-1][h3]));
	}
	ll ans=0;
	for (int i=0;i<=n;i++)
		for (int j=i;j<=n;j++)
			ans=max(ans,dp[n-1][i][j]);
	return ans;
}
#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...