Pagini recente » Cod sursa (job #1947379) | Cod sursa (job #2277681) | Cod sursa (job #243580) | Cod sursa (job #525842) | Cod sursa (job #2275304)
#include <bits/stdc++.h>
using namespace std;
ifstream f("adapost2.in");
ofstream g("adapost2.out");
int n;
double a[50001],b[50001],xc,yc,d,pas,eps=0.001,px,py,minim;
bool sw;
int dx[]={0,-1,0,1};
int dy[]={1,0,-1,0};
double distanta(double x,double y)
{
double rez=0;
int i;
for(i=1;i<=n;i++)
{
rez=rez+sqrt((x-a[i])*(x-a[i])+(y-b[i])*(y-b[i]));
}
return rez;
}
int main()
{
int i;
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i]>>b[i];
xc=xc+a[i];
yc=yc+b[i];
}
xc=xc/n;
yc=yc/n;
minim=distanta(xc,yc);
pas=100;
while(pas>eps)
{
sw=0;
for(i=0;i<4 && sw==0;i++)
{
px=xc+pas*dx[i];
py=yc+pas*dy[i];
d=distanta(px,py);
if(d<minim)
{
minim=d;
xc=px;
yc=py;
sw=1;
}
}
if(sw==0)
{
pas=pas/2;
}
}
g<<xc<<" "<<yc;
return 0;
}