각 시작 크기 P마다 두 명이 번갈아 버퍼에서 수를 고르고 이후 원소가 버퍼를 채우며, 앨리스 점수에서 밥 점수를 뺀 값을 구한다.
보통7그리디정렬게임 이론누적 합아직 제출이 없습니다시간 제한2초메모리 제한512 MBAlice와 Bob이 다음 게임을 한다.
1부터 N까지 번호가 매겨진 N개의 양의 정수 수열이 주어진다. 각 원소는 N 이하이며 같은 값이 여러 번 나올 수 있다. 게임이 시작되면 수열의 앞 P개 원소로 다중집합 S를 만든다. Alice가 먼저 움직이며 두 사람은 번갈아 둔다. 각 차례는 다음과 같이 진행된다.
S가 빌 때까지 차례를 반복한다. 두 사람 모두 자신의 최종 점수가 가장 커지도록 둔다고 가정한다. 게임의 결과는 Alice의 점수에서 Bob의 점수를 뺀 값이다.
주어진 수열에 대해 시작 크기만 다른 K개의 게임을 처리하는 프로그램 game을 작성하라.
표준 입력의 첫 줄에는 두 양의 정수 N과 K가 공백으로 구분되어 주어진다.
둘째 줄에는 수열을 나타내는 N개의 양의 정수 a1,a2,…,aN이 공백으로 구분되어 주어진다.
셋째 줄에는 K개의 양의 정수 p1,p2,…,pK가 공백으로 구분되어 주어진다. i번째 게임은 수열의 앞 pi개 원소로 만든 S에서 시작한다. 여기서 i=1,2,…,K이다.
표준 출력에 K줄을 출력한다. i번째 줄에는 i번째 게임의 결과를 나타내는 정수 하나를 출력한다. 게임 번호는 입력에 주어진 순서대로 1부터 K까지 매긴다.
각 게임은 정확히 N번 움직이며 끝난다. Alice는 홀수 번째 차례에, Bob은 짝수 번째 차례에 수를 가져간다. 들어올 수가 남아 있는 동안에는 매 차례가 끝난 뒤 새 수 하나가 S에 들어오므로, 그 구간에서는 차례를 시작할 때 S가 항상 P개의 원소를 가진다. 들어올 수가 떨어진 뒤에는 남은 S를 순서대로 꺼내며 끝낸다.