Pagini recente » Cod sursa (job #357794) | Cod sursa (job #402077) | Cod sursa (job #2281248) | Cod sursa (job #2273980) | Cod sursa (job #762294)
Cod sursa(job #762294)
#include<fstream>
#include<iomanip>
#include<cmath>
using namespace std;
const double eps=0.0001;
int N;
double x[50005],y[50005],daux;
double verific(double midx,double midy){
daux=0;
for(int i=1;i<=N;++i)
daux+=sqrt((x[i]-midx)*(x[i]-midx)+(y[i]-midy)*(y[i]-midy));
return daux;
}
int main(void){
ifstream fin("adapost2.in");
ofstream fout("adapost2.out");
int i;
double midx,midy,pasx,W;
fin>>N;
for(i=1;i<=N;++i)
fin>>x[i]>>y[i];
midx=x[1]; midy=y[1]; pasx=512;
while(pasx>=eps){
W=verific(midx,midy);
if(verific(midx+pasx,midy)<W){ midx+=pasx; continue; }
if(verific(midx,midy+pasx)<W){ midy+=pasx; continue; }
if(verific(midx-pasx,midy)<W){ midx-=pasx; continue; }
if(verific(midx,midy-pasx)<W){ midy-=pasx; continue; }
pasx/=2;
}
fout<<setprecision(4)<<fixed;
fout<<midx<<' '<<midy<<'\n';
return 0;
}