만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

코미디는 전능하지 않다

시간 제한4초메모리 제한2048 MB

요약
길이 n인 무작위 이진 수열을 부분집합 합 질의로 복원합니다. 질의는 n/2번 미만이고 질의 원소 개수 합은 3n 이하여야 합니다.
난이도

어려움10점 중 8점

유형
배열, 비트 연산, 구현
정답자
아직 제출이 없습니다

문제

이 문제는 인터랙티브 문제입니다.

Vim, Emacs, Nano가 추측 게임을 한다. Vim은 길이 nn인 무작위 이진 수열 {ai}\{a_i\}을 비밀리에 Nano에게 알려 준다. Emacs는 인덱스 집합 I⊆{1,2,…,n}I \subseteq \{1, 2, \ldots, n\}을 골라 Nano에게 질의할 수 있다. Nano는 ∑i∈Iai\sum_{i \in I} a_i를 답한다. Emacs가 n/2n/2보다 적은 질의로 {ai}\{a_i\}를 찾도록 도와주세요. 모든 질의에 쓰이는 집합 크기의 합은 3n3n을 넘으면 안 된다.

힌트

모든 테스트에서 n=105n = 10^5이다. n=4n = 4인 경우는 형식만 보여 주며 테스트에 나오지 않는다.

테스트는 최대 5050개이다. 테스트는 무작위로 생성되지만 미리 고정되어 있다. 각 테스트에서 길이 nn인 이진 수열이 생성될 확률은 모두 1/2n1/2^n이다.

예제1

  1. 예제 1

    입력
    4
    2
    1
    2
    
    예상 출력
    ? 4 1 2 3 4
    ? 2 1 2
    ? 2 2 3
    = 0110