백준/기하
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;
}