Submission #1255904

#TimeUsernameProblemLanguageResultExecution timeMemory
1255904vampirrJust Long Neckties (JOI20_ho_t1)Java
9 / 100
1104 ms173276 KiB
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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...