#include <bits/stdc++.h>
using namespace std;
#define FOR(i,l,r) for(int i = (int) (l);i < (int) (r);i++)
template<typename T> bool chmax(T& a,const T& b){ return a < b ? (a = b,true) : false; }
template<typename T> bool chmin(T& a,const T& b){ return b < a ? (a = b,true) : false; }
typedef long long ll;
const int N = 3;
int A [N];
const int INF = 1e9;
const double PI = acos(-1.0);
int main()
{
FOR(i,0,N){
scanf("%d",&A [i]);
}
sort(A,A + N);
int mn = INF,mx = -INF;
if(A [0] + A [1] > A [2]){
chmin(mn,0);
}
FOR(mask,0,1 << N){
int sum = 0;
FOR(i,0,N){
if(mask >> i & 1){
sum += A [i];
}
else{
sum -= A [i];
}
}
chmin(mn,abs(sum));
chmax(mx,abs(sum));
}
double ans = mx * mx * PI - mn * mn * PI;
printf("%.10f\n",ans);
return 0;
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:17:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&A [i]);
^