역시 조합으로 풀면 된다. 아주 쉬운 문젠데... " "를 " "로 스페이스 두번 치는 바람에 두번 틀렸다. 꼼꼼하게 문제를 풀자...!
import java.util.Scanner;
// 한빈이의 spot mart
public class swea9229 {
static int snack[];
static int N, M, Max;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
N = sc.nextInt();
M = sc.nextInt();
snack = new int[N];
for (int i = 0; i < N; i++) {
snack[i] = sc.nextInt();
}
Max = -1;
pick(0, 0, 0);
if(Max == -1)
Max = -1;
System.out.println("#" + tc + " "+ Max);
}
}
static void pick(int cnt, int idx, int sum) {
if(sum > M) return;
if(cnt == 2) {
if(Max < sum) Max = sum;
return;
}
if(idx == N) return;
pick(cnt + 1, idx + 1, sum + snack[idx]);
pick(cnt, idx + 1, sum);
}
}
'알고리즘 문제 풀이' 카테고리의 다른 글
백준 2579 계단 오르기 (Java 자바) (0) | 2021.03.24 |
---|---|
SWEA 암호문 1: 자바 (0) | 2021.02.08 |
백준14501 퇴사 (Java 자바) (0) | 2021.02.08 |
백준1158 요세푸스 문제: 자바(수정중) (0) | 2021.02.08 |
백준 1065 한수 (Java 자바) (0) | 2021.02.08 |