Cod sursa(job #2406164)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 15 aprilie 2019 14:14:25
Problema Cele mai apropiate puncte din plan Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
ifstream f("cmap.in");
ofstream g("cmap.out");
//--------------------------------
//Variabile globale
int n;
pair<double,double>v[100001];
//--------------------------------
//Functii
void citire();
void rezolvare();
//--------------------------------
int main()
{
	citire();
	rezolvare();
	return 0;
}
//--------------------------------
void rezolvare()
{
    double mi = 1000000000000;
	sort(v + 1,v + n + 1);
	//g<<v[100].y<<" "<<v[100].y*v[100].y<<'\n';
	for(int i = 1; i <= n; ++i)
		for(int j = i + 1; j <= n,j <= i + 8; ++j)
		{
		    unsigned long long x = abs((v[i].x - v[j].x)) * abs((v[i].x - v[j].x));
		    unsigned long long y = x+abs((v[i].y - v[j].y)) * abs((v[i].y - v[j].y));
			double a = sqrt(y);
            if(a < mi)
                mi = a;
		}
    g << setprecision(7) << fixed << mi;
}
//--------------------------------
void citire()
{
	f >> n;
	for(int i = 1; i <= n; ++i)
		f >> v[i].x >> v[i].y;
}