#include #include typedef float R; R sq(R x) {return x*x;} R p1(R x, R y, R z){R r2 = x*x+y*y+z*z; return log((sqrt(r2-2*x+1)-x+1)/(sqrt(r2)-x));} R p2(R x, R y, R z){return p1((x+1)/2, y/2, z/2);} R p3(R L, R x, R y, R z){R r = 1./L; return p2(x*r, y*r, z*r);} #define lr 100 #define lm (2*lr+1) const float r = 1., dx=1/(R)lr; int main(){R L[lm][lm]; R pma=0, pmi=1.e10; int ima, jma, imi, jmi; for(int i=0; i0) {R p = 0; for(int k=0; k0 && (i!=k || j!=l)) p += p3(L[k][l], L[i][j], (i-k)*dx, (j-l)*dx); p *= dx*dx; if(p>pma) {pma=p; ima=i; jma=j;} if(p