핫도그 팩과 번 팩의 크기 목록이 주어질 때, 고른 핫도그와 번의 개수가 같아지도록 사야 하는 최소 팩 수를 구한다.
보통6동적 계획법면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB"핫도그는 10개들이 묶음으로 팔리고 빵은 8개들이나 12개들이 묶음으로 팔린다. 그래서 개수를 딱 맞추려면 아홉 묶음을 사야 한다."
1986년 영화 True Stories에 나오는 대사다. 거의 맞는 말이다. 핫도그 10개들이 4묶음과 빵 8개들이 5묶음을 사면 양쪽 다 40개가 되어 개수가 맞는다. 더 적은 묶음으로도 맞출 수 있다. 핫도그 10개들이 2묶음에 빵 8개들이 1묶음과 빵 12개들이 1묶음을 더하면 양쪽 다 20개가 되고, 산 묶음은 4개뿐이다.
살 수 있는 핫도그 묶음과 빵 묶음의 목록이 주어진다. 핫도그와 빵의 개수를 정확히 같게 맞추려면 최소 몇 묶음을 사야 하는지 구하라.
첫째 줄에 살 수 있는 핫도그 묶음의 수 H가 주어지고, 이어서 각 묶음에 든 핫도그의 개수 h1,…,hH가 주어진다. 둘째 줄에 살 수 있는 빵 묶음의 수 B가 주어지고, 이어서 각 묶음에 든 빵의 개수 b1,…,bB가 주어진다.
H와 B는 0 이상 100 이하이고, 묶음의 크기는 1 이상 1000 이하이다. 살 수 있는 묶음은 하나씩 모두 나열한다. 예를 들어 빵 8개들이 묶음을 다섯 개 살 수 있다면 빵 묶음 목록에 8이 다섯 번 나온다.
핫도그와 빵을 1개 이상 같은 개수로 살 수 없으면 impossible을 출력한다.
살 수 있으면 핫도그와 빵의 개수가 정확히 같아지도록 사는 데 필요한 최소 묶음 수를 출력한다. 핫도그 묶음과 빵 묶음을 모두 세어서 더한 값이다.