N의 범위가 d이므로 전수조사를 실행할 수 있다.
3개의 카드를 골라 내어 M과 최대한 가깝게 만들기 위한 전수조사를 실행한다.
//백준 2798, 블랙잭
#include <iostream>
#include <climits>
int card[101];
int main(){
int N, M;
std::cin >> N >> M;
for(int i{0}; i<N; ++i){
std::cin >> card[i];
}
int min{INT_MAX};
for(int i{0}; i<N-2; ++i){
for(int j{i+1}; j<N-1; ++j){
for(int k{j+1}; k<N; ++k){
int val = card[i] + card[j] + card[k];
if(val <= M) min = std::min(min, M-val);
}
}
}
std::cout << M-min;
return 0;
}