CF1064A Make a triangle! 题解

Content

有三条长度分别为 \(a,b,c\) 的线段。你可以在一个单位时间内将一条线段的长度增加 \(1\),试求出能使这三条线段组成一个三角形的最短时间。

数据范围:\(1\leqslant a,b,c\leqslant 100\)

Solution

将这三个线段按照长度从小到大排序,设排序后的三条线段的长度依次为 \(x_1,x_2,x_3\),然后判断是否有 \(x_1+x_2>x_3\),是的话就直接可以组成一个三角形,否则需要 \(x_3-(x_1+x_2)+1\) 个单位的时间才能使 \(x_1+x_2>x_3\)(注意不是 \(\geqslant\))。

Code

int a[4], ans;

int main() {
	getint(a[1]), getint(a[2]), getint(a[3]);
	sort(a + 1, a + 4);
	writeint(ans = max(a[3] - (a[1] + a[2]) + 1, 0));
	return 0;
}
posted @ 2021-12-21 19:49  Eason_AC  阅读(34)  评论(0)    收藏  举报