농장 탈출
시간 제한1초메모리 제한128 MB
소의 무게가 최대 20개 주어질 때, 십진수 덧셈에서 어느 자리에서도 올림이 생기지 않도록 고른 부분집합 중 가장 큰 것의 크기를 구한다.
문제
소들이 농부 존의 손아귀에서 벗어나려는 대담한 계획을 세웠다. 작은 고무보트를 하나 구했고, 밤의 어둠을 틈타 한 무리의 소가 보트에 올라 농장 경계를 이루는 강을 건너려 한다. 완벽해 보이던 계획이지만, 작은 고무보트가 그리 많은 무게를 버티지 못할 수도 있다는 사실을 소들은 깨닫는다!
마리의 소()는 각각 무게 을 가진다. 어떤 무리가 보트를 가라앉히지 않을 만큼 가벼운지 판단하기 위해, 소들은 그 무리에 속한 모든 소의 무게를 더한다. 그런데 소들은 산수에 몹시 약해서, 무게를 더하는 과정에서 (표준 10진법 덧셈으로) 받아올림이 한 번이라도 생기면 그 무리는 너무 무거워 보트를 탈 수 없다고 결론짓는다. 받아올림 없이 무게를 모두 더할 수 있는 무리만 보트에 탈 만큼 가볍다고 여긴다.
소들이 보트에 탈 수 있다고 믿는 가장 큰 무리의 크기, 즉 받아올림 없이 무게를 모두 더할 수 있는 가장 큰 무리의 크기를 구하라.
입력
- 첫째 줄: 소의 수 ().
- 둘째 줄부터 째 줄까지: 각 줄에 소 한 마리의 무게가 주어지며, 1 이상 100,000,000 이하의 정수이다.
출력
- 첫째 줄: 받아올림 없이 무게를 모두 더할 수 있는 가장 큰 무리에 속한 소의 수.
힌트
입력 설명
소는 5마리이며, 무게는 각각 522, 6, 84, 7311, 19이다.
출력 설명
522, 6, 7311 세 무게는 받아올림 없이 더할 수 있다:
522
6
+ 7311
------
7839