# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
330107 | Agnimandur | Jelly Flavours (IOI20_jelly) | Java | 319 ms | 13428 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
import java.util.*;
class jelly {
int find_maximum_unique(int x, int y, int[] a, int[] b) {
int N = a.length;
int[][] vals = new int[N][2];
for (int i = 0; i < N; i++)
vals[i] = new int[] {a[i],b[i]};
sort(vals);
long[] dpX = new long[x+1];
long[] budget = new long[N];
for (int i = 0; i < N; i++) {
long[] dpXnew = new long[x+1];
for (int j = 0; j <= x; j++) {
//buy in shop2
dpXnew[j] = dpX[j]+vals[i][1];
//buy in shop1
if (j >= vals[i][0])
dpXnew[j] = Math.min(dpXnew[j],dpX[j-vals[i][0]]);
}
dpX = dpXnew;
budget[i] = y-dpX[x];
}
int ans = 0;
int[] dpY = new int[y+1];
for (int i = N-1; i >= 0; i--) {
if (budget[i] >= 0)
ans = Math.max(ans, i+1+dpY[(int)budget[i]]);
# | 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... |