会津合宿2012 3日目 A問題 KND is So Sexy

方針

問題文の条件で、2辺の長さの和が一定な三角形は、二等辺三角形のときに面積最大になる。
したがって、二等辺三角形の面積を求めればいい。


等しい辺と、底辺の長さがわかっているので、
三平方の定理から高さを求めればいい。

ソースコード

double calc(double a, double b){
	double h = sqrt(a * a - b * b / 4);
	return b * h / 2;
}

int main(){
	int a, l, x;
	while(cin >> a >> l >> x){
		printf("%.9f\n", calc(l, a) + 2 * calc((l + x) * 0.5, l));
	}
	return 0;
}