题目描述

题目解析
#include<bits/stdc++.h>
using namespace std;
struct Info{
int curr_high;
int curr_abs;
Info(int curr_h, int curr_c) : curr_high(curr_h), curr_abs(curr_c){
}
};
int main(int argc, char **argv)
{
int h, n, t;
std::cin >> h >> n;
std::vector<Info> vec;
for (int i = 0; i < n; ++i) {
std::cin >> t;
vec.emplace_back(t, std::abs(t - h));
}
std::sort(vec.begin(), vec.end(), [](Info &a, Info &b){
return a.curr_abs < b.curr_abs ? true : a.curr_abs == b.curr_abs ? a.curr_high < b.curr_high : false;
});
for(auto v : vec){
std::cout << v.curr_high <<"\t";
}
}