import java.util.*;
public class ho_t1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int[][] ties = new int[N+1][2];
for (int i=0; i<=N; i++) {
ties[i][0]=in.nextInt();
ties[i][1]=i;
}
int[] current = new int[N];
for (int i=0; i<N; i++) {
current[i]=in.nextInt();
}
in.close();
Arrays.sort(ties, Comparator.comparing(i->i[0]));
Arrays.sort(current);
ArrayList<Integer> start = new ArrayList<>();
ArrayList<Integer> shifted = new ArrayList<>();
start.add(0); shifted.add(0);
int curr1=0; int curr2=0;
for (int i=0; i<N; i++) {
curr1=Math.max(curr1, ties[i][0]-current[i]);
start.add(curr1);
}
for (int i=N-1; i>=0; i--) {
curr2=Math.max(curr2, ties[i+1][0]-current[i]);
shifted.add(curr2);
}
Collections.reverse(shifted);
int[] ans = new int[N+1];
for (int i=0; i<=N; i++) {
ans[ties[i][1]] = Math.max(start.get(i), shifted.get(i));
}
for (int i=0; i<=N; i++) {
System.out.print(ans[i]+" ");;
}
System.out.println();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |