백준 1448 c++

magicdrill·2024년 9월 12일
0

백준 문제풀이

목록 보기
437/654

백준 1448 c++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void input_data(vector<int>& straws)
{
	int N, i, temp;

	cin >> N;
	for (i = 0; i < N; i++)
	{
		cin >> temp;
		straws.push_back(temp);
	}

	return;
}

void find_answer(vector<int>& straws)
{
	int max = 0;
	int i, size = straws.size();
	int a, b, c;

	sort(straws.begin(), straws.end(), greater<>());
	for (i = 0; i < size - 2; i++)
	{
		a = straws[i + 2];//제일 작아
		b = straws[i + 1];//가운데
		c = straws[i];//제일 커
		//cout << "a : " << a << "\n";
		//cout << "b : " << b << "\n";
		//cout << "c : " << c << "\n";
		if (a + b > c)
		{
			max = a + b + c;
			break;
		}
		else
		{
			;
		}
	}
	if (max == 0)
	{
		cout << "-1\n";
	}
	else
	{
		cout << max << "\n";
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<int> straws;

	input_data(straws);
	find_answer(straws);


	return 0;
}

0개의 댓글