import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();// 카드의 개수
int m = sc.nextInt();// 한도
int c[] = new int[n]; // n장의 카드
int max = 0;
for (int i = 0; i < n; i++) {
c[i] = sc.nextInt();// n장의 카드 숫자를 입력받음
}
for (int j = 0; j < n; j++) {
int num1 = c[j]; // 첫번째 카드
for (int k = 0; k < n; k++) {
if (k == j) {
continue;
}
int num2 = c[k]; // 두번째 카드
for (int l = 0; l < n; l++) {
if (l == j || l == k) {
continue;
}
int num3 = c[l]; // 세번째 카드
int sum = num1 + num2 + num3;// 카드 3장을 더한 값
if (sum <= m && sum > max) {// 한도보다는 작고 m에 최대한 가깝다면
max = sum;
}
}
}
}
System.out.println(max);
}
}
댓글