#include "jelly.h"
#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();
int zeros=0;
int mx=0;
bool podz4=true,podz5=true;
for (int i = 0; i<n; i++){
if (a[i]!=b[i])podz5=false;
if (b[i]!=b[0])podz4=false;
}
if (podz4){
if (b[0]==0)return n;
sort(a.begin(),a.end());
while(y>=b.back() && a.size()){
y-=b.back();
b.pop_back();
a.pop_back();
zeros++;
n--;
}
vector<int> dp(x+1);
for (int i = 0; i<n; i++){
if (!a[i]){
zeros++;
continue;
}
for (int j = x; j>=a[i]; j--){
dp[j]=max(dp[j],dp[j-a[i]]+1);
mx=max(mx,dp[j]);
}
}
return mx+zeros;
}
if (podz5){
int oo=1e9+1;
vector<vector<int>> dp(2001,vector<int>(2001,oo));
for (int i = 0; i<n; i++)dp[i][0]=0;
for (int i = 1; i<=n; i++){
for (int j = 1; j<=i; j++){
dp[i][j]=min(dp[i-1][j],dp[i-1][j-1]+a[i-1]);
}
}
int num=n,wyn=0,sum=x+y+1;
for (int i = n; i>=0; i--){
if (dp[n][i]<=x+y){
wyn=i;
sum=dp[n][i];
break;
}
}
mx=wyn;
vector<int> to_check;
while(wyn && num){
if (dp[num][wyn]==dp[num-1][wyn-1]+a[num-1]){
to_check.push_back(a[num-1]);
wyn--;
}
num--;
}
bitset<20001> bs;
bs[0]=1;
for (auto u : to_check)bs|=(bs<<u);
for (int i = x; i>=max(0,sum-y); i--){
if (bs[i])return mx;
}
return max(0,mx-1);
}
vector<vector<int>> dp(x+1,vector<int>(y+1));
for (int i = 0; i<n; i++){
if (!a[i] || !b[i]){
zeros++;
continue;
}
for (int j = x; j>=0; j--){
for (int u = y; u>=0; u--){
if (j>=a[i])dp[j][u]=max(dp[j][u],dp[j-a[i]][u]+1);
if (u>=b[i])dp[j][u]=max(dp[j][u],dp[j][u-b[i]]+1);
mx=max(mx,dp[j][u]);
}
}
}
return mx+zeros;
}
# | 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... |