백준/기하

14215: 세 막대 / C++

Koalitsiya 2023. 3. 21. 18:23

문제 

 

풀이

삼각형의 조건 중 가장 긴 변의 길이가 다른 두 변의 합보다 크거나 같으면 안된다는 것을 이용해 세 수를 더하는 것 만으로 답이 나오는지를 판별하고 만약 크거나 같다면 가능한 가장 긴 변의 길이는 다른 두 변의 합 - 1임을 이용해 답을 출력하면 된다.

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
	int x, y, z;
	int sides[3];

	cin >> sides[0] >> sides[1] >> sides[2];

	sort(sides, sides + 3);

	if (sides[2] < sides[0] + sides[1]) cout << sides[0] + sides[1] + sides[2];
	else cout << 2 * (sides[0] + sides[1]) - 1;

	return 0;
}