Sędzia zaliczył tylko 8/20 zadań, a mam poprawny wynik nawet przy r=1000; d=1999 
#include
#include
using namespace std;
float d;
float r;
float X;
int main()
{
cin>>r>>d;
r*=r;
d/=2;
d*=d;
X=r-d;
X*=3.141592654;
cout<<setprecision(10000);
cout<<X;
return 0;
}