#include #include #include #include class Runnner { public: int x, y; double s; }; class Point { public: int x, y; }; std::vector runners; std::queue points; std::ifstream readFile; std::ofstream writeFile("runners.out"); int n, k,x ,y, indexOf; double s; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); readFile.open("runners.in"); readFile >> n >> k; //scanf_s("%i %i", &n, &k); for (int i = 0; i < k; i++) { readFile >> s; runners.push_back( { 0,0,s }); } for (int i = 0 ;i < k ; i++) { readFile >> x >> y; runners[i].x = x; runners[i].y = y; } for(int i = k ; i< n ; i ++) { readFile >> x >> y; points.push( { x ,y }); } for (int i = 0; i < k; i++) { x = runners[i].x; y = runners[i].y; writeFile << x << " " << y << "\n"; } for (int i = 0; i < k; i++) { writeFile << i + 1 << "\n"; } while (points.size()>0) { Point point = points.front(); points.pop(); double bestDistance = INTMAX_MAX; for (int i = 0; i < runners.size(); i++) { Runnner runner = runners[i]; double distance =sqrt((point.x - runner.x)* (point.x - runner.x) + (point.y - runner.y)* (point.y - runner.y)); if(distance