금민수의 합

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

요약
N이 주어지면 숫자 4와 7로만 이루어진 수들의 합으로 N을 나타내되 항의 개수를 최소화하고 그 다음 사전순으로 가장 작은 수열을 찾는 문제입니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 수학, 조합론
정답자
아직 제출이 없습니다

문제

은민이는 숫자 4와 7을 좋아하고, 다른 숫자는 좋아하지 않는다. 금민수는 숫자 4와 7만으로 이루어진 양의 정수이다.

정수 N이 주어진다. N을 금민수들의 합으로 나타내자. 가능한 표현이 여러 가지라면, 사용하는 수의 개수가 가장 적은 표현을 출력한다. 그런 표현도 여러 가지라면, 사전순으로 가장 앞서는 수열을 출력한다.

항의 개수가 같은 두 표현

N = a1 + a2 + ... + ak

와

N = b1 + b2 + ... + bk

에 대해, 처음으로 ai와 bi가 달라지는 인덱스 i에서 ai < bi이면 첫 번째 표현이 더 앞선다. N을 금민수들의 합으로 나타낼 수 없다면 -1을 출력한다.

입력

첫째 줄에 정수 N이 주어진다. N은 1,000,000,000 이하이다.

출력

첫째 줄에 정답을 공백으로 구분하여 출력한다.

예제4

  1. 예제 1

    입력
    12
    
    예상 출력
    4 4 4
    
  2. 예제 2

    입력
    11
    
    예상 출력
    4 7
    
  3. 예제 3

    입력
    13
    
    예상 출력
    -1
    
  4. 예제 4

    입력
    100
    
    예상 출력
    4 4 4 44 44