문제
풀이
브루트포스 알고리즘인만큼 모든 합을 비교해서 풀었다
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m, sum, answer;
int min = 300001;
vector<int> v;
cin >> n >> m;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
v.push_back(num);
}
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 ((min > m - sum) && (m - sum >= 0)) {
min = m - sum;
answer = sum;
}
}
}
}
cout << answer;
return 0;
}
'백준 > 브루트포스' 카테고리의 다른 글
2839번: 설탕 배달 [C++] (0) | 2023.03.27 |
---|---|
1436번: 영화감독 숌 [C++] (0) | 2023.03.27 |
1018번: 체스판 다시 칠하기 [C++] (0) | 2023.03.27 |
19532번: 수학은 비대면강의입니다 [C++] (0) | 2023.03.27 |
2231번 분해합 [C++] (0) | 2023.03.27 |