Logo
(追記) (追記ここまで)

28143번 - k번째 이진십진수

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB47111128.947%

문제

십진법으로 표현했을 때 0과 1로만 이뤄진 양의 정수를 이진십진수라고 합시다. 예를 들어 101001은 이진십진수이고, 102002는 이진십진수가 아닙니다.

집합 An은 양의 정수 n에 대해 이진십진수인 n의 배수 중 자릿수가 가장 작은 것들의 집합으로 정의됩니다. 만약 이진십진수이면서 n의 배수인 수가 존재하지 않는다면, An은 공집합입니다.

양의 정수 n과, 양의 정수 m개로 이루어진 수열 {k1, k2, ⋯, km}이 주어지면, 수열의 각 값 ki (1 ≤ im)에 대해 An의 원소 중에서 ki번째로 작은 수를 계산하는 프로그램을 작성하세요.

입력

첫 번째 줄에 두 양의 정수 nm이 공백을 사이에 두고 주어집니다. (1 ≤ n ≤ 106, 1 ≤ m ≤ 104)

두 번째 줄부터 m개의 줄에 걸쳐, i+1번째 줄에 ki의 값이 주어집니다. (1 ≤ im, 1 ≤ ki ≤ 1018)

출력

m개의 줄에 걸쳐 i번째 줄에, An의 원소가 ki개 이상이라면 An에서 k번째로 작은 수를 출력하고 그렇지 않다면 X를 출력합니다.

제한

예제 입력 1

27 4
1
2
3
4

예제 출력 1

1101111111
1111101111
1111111101
X

예제 입력 2

17 2
2
1

예제 출력 2

X
11101

예제 입력 3

903375 5
100
200
300
400
500

예제 출력 3

1011010111111011101101011000
1101011111011110100110111000
1110011111111101101101001000
1111011110111100111001011000
X

힌트

출처

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /