CS/Algorithm & Data Structure
[BOJ][C++] 백준 2798 블랙잭
Yeji Heo
2022. 11. 22. 16:00
3중 for문을 이용한 브루트포스 문제다. (3개의 수를 골라야 하므로 3중 for문을 사용했다.)
합이 M을 넘지 않아야 한 다는 것을 깜빡하고 abs사용해서 절댓값이 가장 작은 걸로 구했었다...바보
#include <iostream>
#include<vector>
using namespace std;
int main()
{
int N, M, close=0;
cin >> N >> M;
vector<int> v;
for (int i = 0; i < N; i++) {
int num;
cin >> num;
v.push_back(num);
}
int sum=0;
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++) {
sum = v[i] + v[j] + v[k];
if (sum<=M && M-close>M-sum) close = sum;
}
}
}
cout << close;
}