자료구조 및 알고리즘/백준
[백준] 2798번 블랙잭
아기사우르스
2023. 8. 3. 23:11
728x90
4개 이상의 원소가 있을 때 3개를 골라 합을 구현하는 방법을 고민하게 되는 문제. 겹치지 않게 인덱스 처리를 잘 해주면 됨.
#include <iostream>
using namespace std;
int arr[100];
int main(void) {
cin.tie(0);
ios::sync_with_stdio(0);
int n, m;
cin >> n >> m;
for (int i = 0;i < n;i++)
{
cin >> arr[i];
}
int res = 0; /* 배열로 고칠지 고민 */
int dist; /*3개의 합과 m의 차*/
int min_dist=300000;
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++)
{
res = arr[i] + arr[j] + arr[k];
if (res <= m)
{
dist = m - res;
min_dist = min(dist, min_dist); /* 쓰레기값 안 차게....*/
}
}
}
}
cout << m - min_dist;
}
728x90