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

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

Binary Supersonic Utahraptors

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

요약
알렉세이와 보리스가 정해진 크기의 노랑·빨강 유타랩터 무리를 주고받는 게임에서, 두 사람이 최적으로 둘 때 |a_y - b_r| 값을 구한다.
난이도

어려움10점 중 9점

유형
게임 이론, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

Alexey와 Boris는 Binary Supersonic Utahraptors(BSU)라는 게임을 한다.

처음에 Alexey는 유타랩터 nn마리를, Boris는 mm마리를 가지고 있다. 각 유타랩터는 노란색이거나 빨간색이다.

그다음 두 사람은 정수 s1,s2,…,sks_1, s_2, \ldots, s_k로 설명되는 kk번의 턴을 진행한다. ii번째 턴은 다음과 같이 진행된다. 먼저 Alexey가 자신의 유타랩터 중 sis_i마리를 골라 Boris에게 준다. 그다음 Boris가 자신의 유타랩터 중 sis_i마리(Alexey가 방금 준 유타랩터도 고를 수 있다)를 골라 Alexey에게 준다.

kk번의 턴이 끝나면 게임의 점수를 계산한다. 점수는 ∣ay−br∣|a_y - b_r|과 같다. 여기서 aya_y는 Alexey가 가진 노란색 유타랩터의 수이고, brb_r은 Boris가 가진 빨간색 유타랩터의 수이다. Alexey의 목표는 점수를 최소화하는 것이고, Boris는 점수를 최대화하려고 한다.

두 사람이 모두 최적의 전략을 사용할 때 게임의 점수를 계산하는 프로그램을 작성하시오.

입력

첫째 줄에 세 정수 nn, mm, kk가 주어진다. nn은 Alexey가 가진 유타랩터의 수, mm은 Boris가 가진 유타랩터의 수, kk는 게임의 턴 수이다(1≤n,m,k≤3⋅1051 \le n, m, k \le 3 \cdot 10^5).

둘째 줄에 Alexey의 유타랩터를 나타내는 nn개의 정수 aia_i가 주어진다(0≤ai≤10 \le a_i \le 1). ai=0a_i = 0이면 ii번째 유타랩터는 노란색이고, 그렇지 않으면 ii번째 유타랩터는 빨간색이다.

셋째 줄에 Boris의 유타랩터를 같은 방식으로 나타내는 mm개의 정수 bib_i가 주어진다(0≤bi≤10 \le b_i \le 1).

넷째 줄에 ii번째 턴에서 두 사람이 서로 주고받는 유타랩터의 수를 나타내는 kk개의 정수 sis_i가 주어진다(1≤si≤min⁡{n,m}1 \le s_i \le \min\{n, m\}).

출력

두 사람이 모두 최적으로 플레이할 때 게임의 점수를 출력한다.

예제1

  1. 예제 1

    입력
    2 3 1
    0 0
    1 1 1
    2
    
    예상 출력
    1