[백준] 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
'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글
[백준 C++] cpp 알고리즘 기본 템플릿 (0) | 2023.10.01 |
---|---|
[백준] 10989번: 수 정렬하기 3 - 메모리 초과 문제 해결 (0) | 2023.08.02 |
[백준] 10814번: 나이순 정렬 (C++) - 삽질과 stable sort (0) | 2023.08.02 |
[백준] 1629번 곱셈 C++ (1) | 2023.07.09 |
[백준 C++] 1012번 유기농 배추 (0) | 2023.07.03 |