自定义排序
有优先级,比如sort函数sort(a+1,a+n+1);这样写法的cmp等同于
int cmp(int x,int y){
return x<y;
}
按题目要求我们可以把第一abs(x-k)<abs(y-k),第二也就是差值相等优先选择价格低一点的也就是x<y,具体实现看代码,题目要求按从小输出,自定义排序完之后,在对前k个进行sort即可
代码如下
P3074.预订酒店(100分)
题目内容
放暑假了,小红决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为 n 的数组 A),他的心理价位是 x 元,
请帮他筛选出 k 个最接近 x 元的酒店(n≥k>0),并由低到高打印酒店的价格。
备注
- 酒店价格数组 A 和小红的心理价位 x 均为整型数据(0<n,k,x<10000)
- 优先选择价格最接近心理价位的酒店,若两家酒店距离心理价位差价相同,则选择价格较低的酒店。(比如 100 元和 300 元距离心理价位 200 元同样接近,此时选择 100 元)