제출 #434582

#제출 시각아이디문제언어결과실행 시간메모리
434582BlagojceJelly Flavours (IOI20_jelly)C++17
35 / 100
1756 ms404488 KiB
#include <bits/stdc++.h>

#include "jelly.h"
//#include "grader.cpp"

#include <vector>

using namespace std;


int N;

vector<int> A;
vector<int> B;

int memo[202][502][502];

int dp(int pos, int remx, int remy){
	if(pos == 0) return 0;
	
	if(memo[pos][remx][remy] != -1) return memo[pos][remx][remy];
	
	int ret = dp(pos-1, remx, remy);
	if(remx >= A[pos-1]){
		ret = max(ret, dp(pos-1, remx-A[pos-1], remy) + 1);
	}
	if(remy >= B[pos-1]){
		ret = max(ret, dp(pos-1, remx, remy-B[pos-1]) + 1);
	}
	memo[pos][remx][remy] = ret;
	
	return ret;
}

int find_maximum_unique(int x, int y, std::vector<int> a, std::vector<int> b) {
	memset(memo, -1, sizeof(memo));
	N = a.size();
	A = a;
	B = b;
	return dp(N, x, y);
}
#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...