테크 로그포스 Tech Log Force

[BOJ][C++] 백준 2798 블랙잭 본문

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;
}
Comments