Submission #1229390

#TimeUsernameProblemLanguageResultExecution timeMemory
1229390maya_sJelly Flavours (IOI20_jelly)C++20
0 / 100
2110 ms386732 KiB
#include <bits/stdc++.h>
using namespace std;
typedef int ll;

ll dp[201][501][501][2];

int find_maximum_unique(int x, int y, vector<int> A, vector<int> B) {
	ll n = A.size();
	vector<ll> a(n+1), b(n+1);
	for(ll i = 0; i < n; i++) a[i+1] = A[i], b[i+1] = B[i];
	for(ll i = 1; i <= n; i++){
		for(ll sum_a = 0; sum_a <= x; sum_a++){
			for(ll sum_b = 0; sum_b <= y; sum_b++){
				if(sum_a - a[i] >= 0) dp[i][sum_a][sum_b][0] = max(dp[i-1][sum_a - a[i]][sum_b][0], dp[i-1][sum_a - a[i]][sum_b][1]) + 1;
				if(sum_b - b[i] >= 0) dp[i][sum_a][sum_b][1] = max(dp[i-1][sum_a][sum_b - b[i]][0], dp[i-1][sum_a][sum_b - b[i]][1]) + 1;
			}
		}
	}
	return max(dp[n][x][y][0], dp[n][x][y][1]);
}
#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...