Pagini recente » Cod sursa (job #779992) | Cod sursa (job #651630) | Cod sursa (job #674979) | Monitorul de evaluare | Cod sursa (job #1972840)
#include <cstdio>
#include <algorithm>
#define x first
#define y second
using namespace std;
FILE *f=fopen("adapost2.in","r");
FILE *g=fopen("adapost2.out","w");
int N;
pair<long double,long double> V[50005];
long double dist(pair<long double,long double> a,pair<long double,long double> b)
{
return sqrt(pow(a.x-b.x,2)+pow(a.y-b.y,2));
}
long double check(pair<long double,long double> a)
{
long double rez=0;
for(int i=1;i<=N;i++)
rez+=dist(a,V[i]);
return rez;
}
pair<long double,long double> a;
int dx[]={-1,0,1,0};
int dy[]={0,1,0,-1};
int main()
{
fscanf(f,"%d",&N);
for(int i=1;i<=N;i++)
fscanf(f,"%Lf %Lf",&V[i].x,&V[i].y);
long double D=2048;
for(int i=0;i<60;i++)
{
bool ok=0;
for(int k=0;k<4;k++)
{
if(check(a)>check({a.x+D*dx[k],a.y+D*dy[k]}))
{a={a.x+D*dx[k],a.y+D*dy[k]};ok=1;}
}
if(ok==0)D/=2;
}
fprintf(g,"%.10Lf %.10Lf",a);
fclose(f);
fclose(g);
return 0;
}