#include <bits/stdc++.h>
#include "jelly.h"
using namespace std;
typedef long long ll;
#define st first
#define nd second
#define pb push_back
const int maxn = 2003;
int dp[203][503][503];
int dp2[1003][1003];
int find_maximum_unique(int x, int y, vector<int> a, vector<int> b) {
int n = a.size();
bool bibj = 1,aibi = 1;
for(int i=1;i<n;i++){
if(b[i] != b[i-1])
bibj = 0;
}
for(int i=0;i<n;i++){
if(a[i] != b[i])
aibi = 0;
}
if(aibi){
sort(a.begin(),a.end());
int wyn = 0,start = 0;
for(int i=0;i<n;i++){
if(a[i] == 0){
wyn++;
start++;
}
}
for(int i=0;i<=x;i++){
for(int j=0;j<=y;j++){
if(dp2[i][j] == 0){
dp2[i][j] = start;
}
if(i + a[dp2[i][j] + 1 - 1] <= x){
dp2[i+a[dp2[i][j] + 1 - 1]][y] = max(dp2[i+a[dp2[i][j] + 1 - 1]][y],dp2[i][j]+1);
}
if(j + a[dp2[i][j] + 1 - 1] <= y){
dp2[x][j+a[dp2[i][j] + 1 - 1]] = max(dp2[x][j+a[dp2[i][j] + 1 - 1]],dp2[i][j]+1);
}
}
}
return dp2[x][y];
}
if(y==0){
int wyn = 0;
vector<pair<int,int>> vect;
for(int i=0;i<n;i++){
vect.pb({a[i],b[i]});
}
sort(vect.begin(),vect.end());
for(int i=0;i<n;i++){
if(vect[i].nd == 0){
wyn++;
continue;
}
if(vect[i].st > x)
continue;
x -= vect[i].st;
wyn++;
}
return wyn;
}
if(bibj){
int wartosc = b[0];
int wyn = 0;
sort(a.begin(),a.end());
for(auto i : a){
if(x >= i){
wyn++;
x-=i;
continue;
}
if(y >= wartosc){
wyn++;
y -= wartosc;
continue;
}
break;
}
return wyn;
}
for(int i=1;i<=n;i++){
for(int j=0;j<=x;j++){
for(int k=0;k<=y;k++){
dp[i][j][k] = dp[i-1][j][k];
if(j-a[i-1] >= 0)
dp[i][j][k] = max(dp[i][j][k],dp[i-1][j-a[i-1]][k]+1);
if(k-b[i-1] >= 0)
dp[i][j][k] = max(dp[i][j][k],dp[i-1][j][k-b[i-1]]+1);
}
}
}
return dp[n][x][y];
}
# | 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... |