5317 : B18 - 부분집합의 합 (경로 복원)
•시간제한: 2.000 S
•메모리제한: 1024 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
$ N $ 매의 카드가 일렬로 늘어서 있으며, 왼쪽에서 $ i $ 번째 카드에는 정수 $ A_i $ 가 적혀 있습니다. 카드 중에서 몇 장을 선택하여 적힌 정수의 합계가 $ S $ 가 되도록 하는 방법이 존재하는지 판정하고, 존재하는 경우 그 방법을 하나 구하십시오.
[제약 조건]
• $1 \le N \le 60$
• $1 \le S \le 10\,000$
• $1 \le A_i \le 10\,000$
• 입력되는 모든 값은 정수입니다.。
[제약 조건]
• $1 \le N \le 60$
• $1 \le S \le 10\,000$
• $1 \le A_i \le 10\,000$
• 입력되는 모든 값은 정수입니다.。
입력 설명
첫 번째 줄에 $ N $ 과 $ S $ 가 주어집니다.
두 번째 줄에 $ A_1, A_2, \dots, A_N $ 이 주어집니다.
두 번째 줄에 $ A_1, A_2, \dots, A_N $ 이 주어집니다.
출력 설명
합계가 $ S $ 가 되는 방법이 존재하지 않으면 `-1`을 출력하십시오.
존재한다면, 첫 번째 줄에 선택한 카드의 개수를 출력하고, 두 번째 줄에 선택한 카드의 인덱스(1부터 시작)를 공백으로 구분하여 출력하십시오.
존재한다면, 첫 번째 줄에 선택한 카드의 개수를 출력하고, 두 번째 줄에 선택한 카드의 인덱스(1부터 시작)를 공백으로 구분하여 출력하십시오.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3 7
2 2 3
출력 예시
COPY
복사되었습니다!
복사되었습니다!
3
1 2 3