... heapY^[nHeap]; Dec(nHeap); r := 1; while r * 2 <= nHeap do begin c := r * 2; if (c < nHeap) and (NodeValue(c + 1) < NodeValue(c)) then Inc(c); if d^[tk, tx, ty] <= NodeValue(c) ... Readln(f); end; Close(f);end;function NodeValue(iHeap: Integer): Integer;begin NodeValue := d^[heapK^[iHeap], heapX^[iHeap], heapY^[iHeap]];end;procedure SetNodeValue(iHeap, k, x, y: Integer);begin ... div 2; while (r > 0) and (NodeValue(r) > d^[k, x, y]) do begin SetNodeValue(c, heapK^[r], heapX^[r], heapY^[r]); c := r; r := c div 2; end; SetNodeValue(c, k, x, y);end;function...