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

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

전쟁

시간 제한1초메모리 제한128 MB

요약
두 사람이 매 턴 맨 위 두 장 중 한 장을 버리고 다른 한 장을 상대에게 넘기며, 둘 다 최선으로 둘 때 마지막 점수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 게임 이론, 큐, 구현
정답자
아직 제출이 없습니다

문제

Jaś와 Staś가 카드 게임 '바이토키아 전쟁'을 한다. 게임을 시작할 때 두 사람은 각각 카드 nn장으로 이루어진 더미를 받는다. 각 카드에는 정수 하나가 적혀 있다.

게임은 여러 턴에 걸쳐 진행된다. 한 턴에 각 플레이어는 자기 더미의 맨 위에서 카드 두 장을 뽑아, 그중 한 장은 버리고 다른 한 장은 상대에게 넘긴다. 매 턴마다 반드시 한 장을 버리고 다른 한 장을 상대에게 넘겨야 한다. 카드를 받은 상대는 그 카드를 자기 더미의 맨 아래에 넣는다.

두 사람에게 각각 카드가 한 장씩만 남으면 게임이 끝난다. 이때 Jaś의 카드에 적힌 수를 jj, Staś의 카드에 적힌 수를 ss라고 하면 Jaś는 j−sj - s점을, Staś는 s−js - j점을 얻는다.

두 사람 모두 위 규칙으로 계산되는 자신의 점수를 최대화하도록 최적으로 플레이한다고 하자. Jaś가 얻는 점수는 몇 점인가?

입력

첫째 줄에 두 사람이 받는 카드의 수를 나타내는 정수 nn (1≤n≤1061 \le n \le 10^6)이 주어진다. 둘째 줄에는 Jaś의 더미에 있는 카드를 맨 위 카드부터 순서대로 나타내는 정수 nn개 aia_i (1≤ai≤1061 \le a_i \le 10^6)가 주어진다. 셋째 줄에는 같은 형식으로 Staś의 더미에 있는 카드가 주어진다.

출력

두 사람이 모두 최적으로 플레이할 때 Jaś가 얻는 점수를 정수 하나로 출력한다.

예제4

  1. 예제 1

    입력
    4
    5 3 7 2
    2 8 3 4
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1
    5
    3
    
    예상 출력
    2
    
  3. 예제 3

    입력
    2
    7 5
    3 8
    
    예상 출력
    -2
    
  4. 예제 4

    입력
    3
    8 5 1
    1 3 8
    
    예상 출력
    7