https://www.acmicpc.net/problem/2798
#include <iostream>
#include <vector>
#define endl "\n"
using namespace std;
int main(void) {
// C++ Init
ios::sync_with_stdio(false);
cin.tie(NULL);
int input1, input2, input3;
int answer = 0;
vector<int> card;
cin >> input1 >> input2;
for (int i = 0; i < input1; i++) {
cin >> input3;
card.push_back(input3);
}
for (int i = 0; i < card.size() - 2; i++) {
if (card[i] > input2) continue;
for (int j = i + 1; j < card.size() - 1; j++) {
if (card[i] + card[j] > input2) continue;
for (int k = j + 1; k < card.size(); k++) {
if (card[i] + card[j] + card[k] > input2) continue;
else if (card[i] + card[j] + card[k] == input2) {
cout << input2;
return 0;
}
else {
if(answer == 0 ) answer = card[i] + card[j] + card[k];
else {
if (answer < card[i] + card[j] + card[k])
answer = card[i] + card[j] + card[k];
}
}
}
}
}
cout << answer;
}
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 1259 팰린드롬수 (0) | 2024.12.28 |
---|---|
C++ 알고리즘 - 백준 15829 Hashing (0) | 2024.12.28 |
C++ 알고리즘 - 백준 2525 오븐 시계 (0) | 2024.12.22 |
C++ 알고리즘 - 백준 1712 손익분기점 (0) | 2024.12.15 |
C++ 알고리즘 - 백준 1874 스택 수열 (0) | 2024.12.15 |