시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 10 | 2 | 2 | 50.000% |
Alice and Bob are playing the following game:
They are given a sequence of N positive integers with values less than or equal to N. The elements of the sequence are numbered from 1 to N. Equal numbers may exist in the sequence. A set S is created in the beginning of the game, containing the first P elements of the sequence. Note that S may be a multiset – it may contain equal elements. The players take turns to play and Alice is playing first. Each move is made as follows:
The game continues, until the set S becomes empty. We assume that each player does their best to maximize their own score. The game’s result is the number obtained by subtracting the points, collected by Bob, from those, collected by Alice.
Write a program game, which has to process K games on a given starting sequence.
Two space separated positive integers N and K are read from the first line of the standard input.
The second line consists of N space separated positive integers a1, a2, …., aN, representing the elements of the given sequence.
The third line contains K space separated positive integers p1, p2, ..., pK, each defining the starting set S, created from the given sequence (taking the first pi elements) and intended for the i-th game, i = 1, 2, ..., K.
The program should print to the standard output K lines, each containing a single integer – the corresponding game’s result. Line number i should contain the result of the game number i (the games are numbered from 1 to K by the input).
5 2 2 4 2 3 5 4 3
2 6
Explanation: The input data determines that your program will process two games. For both games, the given sequence is the same, but for the first game P = 4 and the starting multiset S is {2, 4, 2, 3}, and for the second game, P=3 and S is {2, 4, 2}.