关注
//
// 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;
}
查看原帖
点赞 评论
相关推荐
01-30 19:08
山东大学 C++ 点赞 评论 收藏
分享
02-02 10:44
齐齐哈尔大学 Java 点赞 评论 收藏
分享
程序员花海_:实习写的太偏技术了 分库分表这种一看就和应届生没关系
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 论秋招对个人心气的改变 #
3562次浏览 69人参与
# 牛客AI体验站 #
1824次浏览 63人参与
# 刚入职的你踩过哪些坑 #
2528次浏览 61人参与
# 在大厂上班是一种什么样的体验 #
2086次浏览 26人参与
# 程序员找工作至少要刷多少题? #
4829次浏览 81人参与
# 关于春招/暑期实习,你想知道哪些信息? #
2703次浏览 64人参与
# 一张图晒一下你的AI员工 #
1637次浏览 45人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1029次浏览 35人参与
# 我现在比当时_,你想录用我吗 #
2552次浏览 42人参与
# 程序员能干到多少岁? #
3698次浏览 53人参与
# 产品人求职现状 #
320352次浏览 2422人参与
# AI Coding的使用心得 #
1475次浏览 38人参与
# 你的工资什么时候发? #
55494次浏览 345人参与
# 实习,不懂就问 #
163059次浏览 1453人参与
# 你投了多少份简历了? #
421526次浏览 3937人参与
# 金三银四,你有感觉到吗 #
679428次浏览 6047人参与
# 帆软软件工作体验 #
12486次浏览 67人参与
# 暑假倒计时,你都干了些啥? #
40151次浏览 213人参与
# 晒晒你司的新年福利 #
2421次浏览 47人参与
# 软开人,秋招你打算投哪些公司呢 #
180025次浏览 1379人参与