카드 게임 전략
시간 제한5초메모리 제한1024 MB
Alice가 구간 [a, b]에서 t를 고르면 Bob은 합이 t에 가장 가까운 카드 k장을 고르고 Alice는 그 차이를 최대화합니다.
문제
앨리스와 밥이 카드 게임을 한다. 카드는 장이고 번 카드에는 정수 가 적혀 있다. 게임은 다음 순서로 진행된다.
- 앨리스가 이상 이하인 정수를 하나 고른다. 이 정수를 라 하고, 앨리스는 의 값을 밥에게 알려 준다.
- 밥이 장 중에서 장을 고른다. 밥이 고른 장에 적힌 수의 합을 라 한다.
앨리스는 를 최대한 크게 만들려 하고, 밥은 최대한 작게 만들려 한다.
게임을 시작하기 전에 두 사람은 , , , 와 각 카드에 적힌 수를 모두 알고 있다. 두 사람 모두 최적으로 행동한다. 특히 앨리스는 자신이 알려 준 에 대해 밥이 를 반드시 최소로 만든다는 사실을 알고 를 고른다. 똑같이 좋은 가 여러 개면 앨리스는 그중 가장 작은 값을 고른다.
앨리스가 고르는 와, 그 에 대해 밥이 고르는 카드 장을 구하라.
입력
첫째 줄에 정수 , , , 가 주어진다. (, )
둘째 줄에 정수 이 주어진다. () 는 번 카드에 적힌 수다.
출력
첫째 줄에 앨리스가 고르는 를 출력한다.
둘째 줄에 밥이 고르는 카드의 번호 개를 증가하는 순서로 출력한다. 를 최소로 만드는 카드 조합이 여러 개면, 번호를 증가하는 순서로 나열한 수열이 사전순으로 가장 앞서는 조합을 출력한다.