코딩테스트

백준 / 세 막대

murlocdev 2025. 4. 23. 14:01
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
	// 세 막대
	int A = 0, B = 0, C = 0;

	// 세 막대 길이 입력
	cin >> A >> B >> C;
	
	// 가장 긴 변의 길이 구하기
	int MAX = max(max(A, B), C);

	// 가장 긴 변의 길이 조절
	if (MAX == A && A >= B + C)
	{
		// 길이 조정
		// 가장 긴 변이 나머지 두 변과 길이가 같으면 삼각형이 성립되지 않기 때문에 정수의 최소 단위인 1을 빼줌
		A = (B + C) - 1;
	}
	else if (MAX == B && B >= A + C)
	{
		B = (A + C) - 1;
	}
	else if (MAX == C && C >= A + B)
	{
		C = (A + B) - 1;
	}

	// 세 변의 길이의 합 = 둘레
	cout << A + B + C;

	return 0;
}