Pagini recente » Cod sursa (job #2713320) | Cod sursa (job #1709215) | Cod sursa (job #2885069) | Cod sursa (job #2123957) | Cod sursa (job #1167778)
#include <iostream>
#include <math.h>
#include <fstream>
#define N 50001
double x[N];
double y[N];
int n;
double dist(double ex, double ey)
{
double ret = 0;
for(int i=0;i<n;i++)
{
ret+=sqrt(pow(ex-x[i],2)+pow(ey-y[i],2));
}
return ret;
}
int main ()
{
std::ifstream fin("adapost2.in");
std::ofstream fout("adapost2.out");
fin>>n;
for(int i=0;i<n;i++)
{
fin>>x[i]>>y[i];
}
double dx=0, dy=0;
double s=1000;
double imx=0, imy=0;
int ix,iy;
while(s>0.00001)
{
double min=123456789;
for(ix=0;ix<=1;ix++)
{
for(iy=0;iy<=1;iy++)
{
double t = dist(dx+ix*s, dy+iy*s);
if(t<min)
{
min=t;
imx=ix;
imy=iy;
}
}
}
s/=2;
dx+=s*imx;
dy+=s*imy;
}
fout<<dx<<" "<<dy;
return 0;
}