아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

절반

면접 대비

시간 제한2초메모리 제한512 MB

요약
사과 n개로 시작해 친구 k명을 만나며, 각 친구가 사과 반 개를 받거나 현재 사과의 절반을 받을 때 가능한 최종 사과 개수를 모두 구한다.
난이도

보통10점 중 5점

유형
구현, 완전 탐색, 수학, 정렬
정답자
아직 제출이 없습니다

문제

자상한 다닐은 사과를 몇 개 가지고 있다. 타고난 자상함 때문에 다닐은 친구를 만날 때마다 자신이 가진 사과를 보고 친구에게 절반을 준다.

하지만 다닐은 모든 친구를 똑같이 아끼지 않기 때문에, 어떤 친구에게는 사과 반 개를 주고 어떤 친구에게는 가지고 있는 사과의 절반을 준다. 다닐은 자상함만큼 눈대중이 좋지 않아서 사과를 두 부분보다 잘게 나누지 못한다. 따라서 친구를 만났는데 가지고 있는 사과가 정수가 아니면 사과 반 개를 줄 수밖에 없다.

아침에 다닐은 사과를 nn개 가지고 있었고, 하루 동안 친구 kk명을 만났다. 저녁에 다닐에게 남아 있을 수 있는 사과는 몇 개인지 구하라.

입력

입력 파일에는 정수 두 개가 주어진다. nn은 다닐이 가진 사과의 수, kk는 하루 동안 만난 친구의 수이다 (1≤n≤10001 \le n \le 1000, 1≤k≤10001 \le k \le 1000).

출력

출력 파일의 첫째 줄에는 저녁에 다닐이 가질 수 있는 사과의 수로 가능한 답의 개수 mm을 출력한다. 다음 줄에는 가능한 답 mm개를 오름차순으로 정렬해 출력한다.

예제1

  1. 예제 1

    입력
    6 1
    
    예상 출력
    2
    3.0 5.5