이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
import java.util.Arrays;
public class tickets {
private class TicketsWithColors {
int color;
int[] val;
int from;
int to;
TicketsWithColors(int color, int[] val) {
this.color = color;
this.val = val;
this.from = 0;
this.to = val.length - 1;
}
}
long find_maximum(int k, int[][] x) {
int n = x.length;
int m = x[0].length;
int[][] answer = new int[n][m];
TicketsWithColors[] t = new TicketsWithColors[n];
for (int i = 0; i < n; i++) {
t[i] = new TicketsWithColors(i, x[i]);
}
long ans = 0;
for (int i = 0; i < n; i++) Arrays.fill(answer[i], -1);
for (int a = 0; a < k; a++) {
Arrays.sort(t, (t1, t2) ->
t1.val[t1.from] + t1.val[t1.to] - t2.val[t2.from] - t2.val[t2.to]);
for (int i = 0; i < n; i++) {
int col = t[i].color;
if (i < n / 2) {
answer[col][t[i].from] = a;
ans -= t[i].val[t[i].from];
t[i].from++;
} else {
answer[col][t[i].to] = a;
ans += t[i].val[t[i].to];
t[i].to--;
}
}
}
grader.allocate_tickets(answer);
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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |