제출 #1234702

#제출 시각아이디문제언어결과실행 시간메모리
1234702MuhammadSaram메기 농장 (IOI22_fish)C++20
9 / 100
119 ms88868 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][10]={};
	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<=9;j++)
			a[i][j]+=a[i][j-1];
	ll dp[n][10][10]={};
	for (int i=0;i<=9;i++)
		for (int j=i;j<=9;j++)
		{
			if (i==j)
				dp[1][i][j]=a[0][j];
			else
				dp[1][i][j]=a[1][i]-a[1][j];
		}
	for (int i=2;i<n;i++)
	{
		for (int h=0;h<=9;h++)
			for (int h1=h;h1<=9;h1++)
				for (int h2=h1*(h<h1);h2<=h1;h2++)
					for (int h3=h2;h3<=9;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<=9;i++)
		for (int j=0;j<=9;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...