이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "jelly.h"
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define fr first
#define sc second
const int MAX = 2005;
const int INF = 0x3f3f3f3f;
int find_maximum_unique(int x, int y, vector<int> a, vector<int> b){
int n = a.size();
vector<pair<int, int>> aux;
for(int i = 0; i < n; i++)
aux.emplace_back(a[i], b[i]);
sort(aux.begin(), aux.end());
vector<vector<pair<int, int>>> dp(n + 1, vector<pair<int, int>>(y + 1));
dp[0][0] = {0, x};
for(int i = 1; i <= y; i++)
dp[0][i] = {-INF, -INF};
int ans = 0;
for(int i = 1; i <= n; i++){
for(int j = 0; j <= y; j++){
dp[i][j] = dp[i - 1][j];
if(dp[i][j].sc >= a[i - 1])
dp[i][j].fr++, dp[i][j].sc -= a[i - 1];
if(j >= b[i - 1]){
pair<int, int> cur = dp[i - 1][j - b[i - 1]]; cur.fr++;
dp[i][j] = max(dp[i][j], cur);
}
ans = max(ans, dp[i][j].fr);
}
}
return ans;
}
# | 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... |