Pagini recente » Cod sursa (job #1247560) | Cod sursa (job #1785551) | Cod sursa (job #1215768) | Cod sursa (job #361031) | Cod sursa (job #2032062)
# include <fstream>
# include <cmath>
# include <iomanip>
# define DIM 50010
# define f first
# define s second
using namespace std;
ifstream fin("adapost2.in");
ofstream fout("adapost2.out");
pair<double,double> v[DIM];
int n,i;
double x,y,step,val;
double distanta(double a,double b,double c,double d){
return sqrt((a-c)*(a-c)+(b-d)*(b-d));
}
double dist(double x,double y){
double sum=0;
for(int i=1;i<=n;i++)
sum+=distanta(x,y,v[i].f,v[i].s);
return sum;
}
int main () {
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i].f>>v[i].s;
x+=v[i].f;
y+=v[i].s;
}
x/=n;
y/=n;
for(step=1024;step;){
val=dist(x,y);
val=min(val,dist(x+step,y));
val=min(val,dist(x-step,y));
val=min(val,dist(x,y+step));
val=min(val,dist(x,y-step));
if(val==dist(x,y)){
step/=2;
continue;
}
if(val==dist(x+step,y)){
x+=step;
continue;
}
if(val==dist(x-step,y)){
x-=step;
continue;
}
if(val==dist(x,y+step)){
y+=step;
continue;
}
if(val==dist(x,y-step)){
y-=step;
continue;
}
}
fout<<setprecision(4)<<fixed<<x<<" "<<y<<"\n";
return 0;
}