#include #include #include using namespace std; void ordenacao(int n, double vetor[]){ int aux[n]; int posicao, valor, k, j; posicao = 0; valor = 0; j = 0; for(int i = 0; i < n; i++){ valor = vetor[i]; if(posicao == 0){ aux[posicao] = vetor[posicao]; posicao++; } else{ j = posicao-1; if(valor < aux[j]){ k = posicao-1; while(valor < aux[k] && k>=0){ aux[k+1] = aux[k]; k--; } aux[k+1] = valor; posicao++; } else{ k = posicao; aux[k] = valor; posicao++; } } } } int main() { int satelite, radio; scanf("%d", &satelite); scanf("%d", &radio); double grid[radio][2]; for(int x = 0; x < radio; x++){ for(int y = 0; y < 2; y++){ scanf("&d", &grid[x][y]); } } int q = radio*(radio-1); int distancias = q/2; double dist[distancias]; int d = 0; for(int r = 0; r < radio; r++){ int x = grid[r][0]; int y = grid[r][1]; int m = x*x + y*y; dist[d] = sqrt(m); d++; } ordenacao(distancias, dist); double maior_distancia = 0; for(int i = satelite; i < distancias; i++){ if(dist[i] > maior_distancia){ maior_distancia = dist[i]; } } cout << maior_distancia; }