Pagini recente » Cod sursa (job #3321180) | Cod sursa (job #744362) | Cod sursa (job #1009652) | Cod sursa (job #3313764) | Cod sursa (job #3348610)
#include <bits/stdc++.h>
using namespace std;
#define USE_STD_IO 0
#if USE_STD_IO
#define fin cin
#define fout cout
#else
ifstream fin("adapost2.in");
ofstream fout("adapost2.out");
#endif // USE_STD_IO
const int DX[] = {1, -1, 0, 0, 1, 1, -1, -1};
const int DY[] = {0, 0, 1, -1, 1, -1, 1, -1};
struct Punct {
double x, y;
};
double px, py, lg;
Punct v[50002];
int n, i;
static inline double Dist(double px, double py) {
double dist = 0;
for(i = 1; i <= n; i++) {
dist += sqrt((px - v[i].x) * (px - v[i].x) + (py - v[i].y) * (py - v[i].y));
}
return dist;
}
int main() {
if(USE_STD_IO) ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
fin >> n;
for(i = 1; i <= n; i++) fin >> v[i].x >> v[i].y;
lg = 250;
px = py = 500;
double dmi = Dist(px, py);
while(0.0001 < lg) {
for(int dir = 0; dir < 4; dir++) {
double xn = px + lg * DX[dir];
double yn = py + lg * DY[dir];
double dist = Dist(xn, yn);
if(dist < dmi) {
dmi = dist;
px = xn;
py = yn;
}
}
lg /= 2.0;
}
fout << setprecision(5) << fixed;
fout << px << ' ' << py;
return 0;
}