아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

로봇

시간 제한2초메모리 제한1024 MB

요약
직선 위에 있는 N개의 로봇과 N개의 안테나를 하나씩 활성화할 때, 매번 가장 가까운 로봇이 이동해 폭발한다. 로봇이 움직인 총거리를 최소로 하는 활성화 순서를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

한 직선 위에 11번부터 NN번까지 번호가 붙은 NN개의 로봇과 11번부터 NN번까지 번호가 붙은 NN개의 안테나가 있다. 로봇 ii의 좌표는 aia_i이고 안테나 ii의 좌표는 bib_i이다. 모든 좌표는 서로 다르다.

현재 모든 안테나는 비활성 상태이다. 안테나를 하나씩 활성화하려고 한다. 안테나를 활성화하면 가장 가까운 로봇이 그 안테나로 이동하여 안테나와 함께 폭발한다. 가장 가까운 로봇이 둘이면 왼쪽 로봇만 이동한다.

로봇이 이동하는 거리의 합이 최소가 되도록 안테나를 활성화하는 순서를 구하라.

입력

입력은 표준 입력에서 다음과 같은 형식으로 주어진다.

NN

a1a_1 a2a_2 …\dots aNa_N

b1b_1 b2b_2 …\dots bNb_N

출력

답을 다음과 같은 형식으로 출력한다.

XX

p1p_1 p2p_2 …\dots pNp_N

여기서 XX는 최소 이동 거리의 합이고, pip_i는 ii번째로 활성화하는 안테나의 번호이다.

답이 여러 개면 아무 것이나 출력해도 된다.

제한

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 0≤a1<a2<⋯<aN≤1090 \leq a_1 < a_2 < \dots < a_N \leq 10^9
  • 0≤b1<b2<⋯<bN≤1090 \leq b_1 < b_2 < \dots < b_N \leq 10^9
  • a1,a2,…,aN,b1,b2,…,bNa_1, a_2, \dots, a_N, b_1, b_2, \dots, b_N은 모두 서로 다르다.
  • 입력으로 주어지는 모든 값은 정수이다.

예제1

  1. 예제 1

    입력
    3
    1 2 3
    11 12 13
    
    예상 출력
    30
    3 2 1