백준 2798 c++
#include <iostream>
using namespace std;
int input(int lower, int upper);
void int_array_input(int* array, int size);
void card_bruteforce(int* card, int card_N, int target);
int main(void)
{
int N, M;
int* card;
N = input(3, 100);
M = input(10, 300000);
card = new int[N];
int_array_input(card, N);
card_bruteforce(card, N, M);
return 0;
}
int input(int lower, int upper)
{
int A;
while (1)
{
cin >> A;
if (A >= lower && A <= upper)
{
break;
}
else
{
;
}
}
return A;
}
void int_array_input(int* array, int size)
{
int i;
for (i = 0; i < size; i++)
{
array[i] = input(1, 100000);
}
return;
}
void card_bruteforce(int* card, int card_N, int target)
{
int i, j, k;
int sum, temp;
int closest_sum = 0;
for (i = 0; i < card_N; i++)
{
for (j = 0; j < card_N; j++)
{
for (k = 0; k < card_N; k++)
{
if (i != j && j != k && k != i)
{
sum = card[i] + card[j] + card[k];
if (sum <= target && sum > closest_sum)
{
closest_sum = sum;
}
else
{
;
}
}
else
{
;
}
}
}
}
cout << closest_sum << endl;
return;
}