Pagini recente » Cod sursa (job #2344953) | Cod sursa (job #897491) | Cod sursa (job #2493315) | Cod sursa (job #979478) | Cod sursa (job #2344357)
#include <bits/stdc++.h>
using namespace std;
ifstream f("adapost2.in");
ofstream g("adapost2.out");
int n,i;
double relax,relay,dist,VAL,dx[10],dy[10],x[50010],y[50010];
double val(double X,double Y)
{
double ret=0;
for(int i=1;i<=n;i++)
ret+=sqrt((X-x[i])*(X-x[i])+(Y-y[i])*(Y-y[i]));
return ret;
}
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>x[i]>>y[i];
dx[0]= 1,dy[0]= 0;
dx[1]= 0,dy[1]= 1;
dx[2]=-1,dy[2]= 0;
dx[3]= 0,dy[3]=-1;
relax=500,relay=500;
VAL=val(relax,relay);
dist=250;
while(dist>0.000001)
{
for(i=0;i<4;i++)
{
double aux=val(relax+dist*dx[i],relay+dist*dy[i]);
if(aux<VAL)
{
VAL=aux;
relax+=dist*dx[i];
relay+=dist*dy[i];
}
}
dist/=2;
}
g<<fixed<<setprecision(3)<<relax<<' '<<relay;
return 0;
}