#include <bits/stdc++.h>
using namespace std;
int find_maximum_unique(int x, int y, vector<int> a, vector<int> b) {
int n=a.size();
vector<vector<vector<int>>> dp(n+1, vector<vector<int>>(x+1, vector<int>(y+1,0)));
dp[0][0][0] = 0;
for (int e=1; e<=n; e++) {
for (int i=x; i>=0; i--) {
for (int j=y; j>=0; j--) {
dp[e][i][j] = dp[e-1][i][j];
if (i-a[e-1] >= 0) dp[e][i][j] = max(dp[e-1][i-a[e-1]][j]+1, dp[e][i][j]);
if (j-b[e-1] >= 0) dp[e][i][j] = max(dp[e-1][i][j-b[e-1]]+1, dp[e][i][j]);
}
}
}
//for (int i=0; i<=min(x,y); i++) cout<< dp[i][i]<< '\n';
return dp[n][x][y];
}
/*
int main() {
int n,x,y;
cin>> n>> x>> y;
vector<int> a(n), b(n);
for (int i=0; i<n; i++) cin>> a[i];
for (int i=0; i<n; i++) cin>> b[i];
cout<< find_maximum_unique(x, y, a, b);
}*/
| # | 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... |