关注
//
// Created by yudw on 2017/8/12.
//
#include <iostream>
#include <algorithm>
#include <deque>
using namespace std;
/*
3.疯狂队列,贪心方法,每一次将最大的疯狂值的序列加入
*/
int main()
{
int n;
while (cin>>n)
{
vector<int> vec_h(n);
for (size_t i=0; i<n; ++i)
{
cin>>vec_h[i];
}
sort(vec_h.begin(), vec_h.end());
deque<int> deque_crazy;
deque_crazy.push_back(vec_h[0]);
for (int i = 1, j = n-1; deque_crazy.size() != n; )
{
int head = deque_crazy.front();
int tail = deque_crazy.back();
int crazy1 = abs(head - vec_h[i]);
int crazy2 = abs(head - vec_h[j]);
int crazy3 = abs(tail -vec_h[i]);
int crazy4 = abs(tail - vec_h[j]);
if(max(crazy1, max(crazy2, max(crazy3, crazy4))) == crazy1)
{
deque_crazy.push_front(vec_h[i]);
++i;
} else if(max(crazy1, max(crazy2, max(crazy3, crazy4))) == crazy2)
{
deque_crazy.push_front(vec_h[j]);
--j;
}else if(max(crazy1, max(crazy2, max(crazy3, crazy4))) == crazy3)
{
deque_crazy.push_back(vec_h[i]);
++i;
} else
{
deque_crazy.push_back(vec_h[j]);
--j;
}
}
int ans =0;
for(size_t i=1; i<n; ++i)
{
ans += abs(deque_crazy[i] - deque_crazy[i-1]);
}
cout<<ans<<endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
29801次浏览 497人参与
# 如果有时光机,你最想去到哪个年纪? #
47039次浏览 799人参与
# 实习吐槽大会 #
31202次浏览 152人参与
# 非技术岗简历怎么写 #
209684次浏览 2860人参与
# 晒一晒你的工位 #
85609次浏览 304人参与
# 26届秋招投递记录 #
3562次浏览 102人参与
# 2025牛客秋招季 #
3816次浏览 122人参与
# 双非能在秋招上岸吗? #
215127次浏览 1142人参与
# 被AI治愈的瞬间 #
52291次浏览 597人参与
# 怎么防止在试用期被辞退 #
122294次浏览 911人参与
# 我的租房踩坑经历 #
26914次浏览 278人参与
# 穿越回高考你还会选现在的专业吗 #
21342次浏览 266人参与
# 我和mentor的爱恨情仇 #
43387次浏览 277人参与
# 打工人的工作餐日常 #
40420次浏览 343人参与
# 软开人,说说你的烦心事 #
48059次浏览 359人参与
# 毕业旅行去哪玩儿 #
1219次浏览 32人参与
# 硬件/芯片公司工作体验 #
75172次浏览 664人参与
# 商战,最累的是我们 #
13017次浏览 52人参与
# 打工人锐评公司红黑榜 #
145888次浏览 919人参与
# 25届秋招公司红黑榜 #
262145次浏览 1094人参与