当前位置: 首页 > news >正文

第 25 场 蓝桥月赛

3.过年【算法赛】 - 蓝桥云课

问题描述

蓝桥村的村民们正准备迎接新年。他们计划宰杀 N 头猪,以庆祝一整年的辛勤劳作和丰收。每头猪的初始位置位于下标 xi​,所有 xi​ 均为偶数,保证没有两头猪初始位置相同。

当猪意识到人类打算宰杀它们时,并非束手就擒。它们会主动移动以寻找同伴,遵循以下规则:

  • 每头猪以恒定速率朝着最近的另一头猪移动。若有多头猪距离相同,则选择朝着坐标更小的猪移动。所有猪的移动速度相同。
  • 当两只猪相遇在同一坐标时,它们会融合成一个整体,被视为一头猪。

当所有猪聚集在同一坐标点时停止移动。现在村民们想要确定最终猪群聚集的确切坐标位置,请你帮助解决这个问题。

输入格式

第一行输入一个整数 N(2≤N≤105)表示猪的数量。

第二行输入 N 个整数 x1​,x2​,⋯,xN​(−109≤xi​≤109)表示每头猪的坐标,保证 x1​,x2​,⋯,xN​ 是偶数,且各不相同。

输出格式

输出一个整数表示答案。

样例输入

5
0 -2 4 10 2

样例输出

8

思路:

  1. 中位数性质:由于所有猪都以恒定速率向最近的猪移动,最终它们会聚集在初始位置的中位数上。这是因为中位数位置是所有位置中距离其他位置总和最小的点。

  2. 排序:由于我们只需要找到中位数,我们可以先对猪的初始位置进行排序,然后直接选择排序后数组的中间元素作为最终聚集点。

  3. 方向:最右边的猪会往左,最左边的猪会往右,通常要画一个样例

代码:

#include <iostream>
#include<algorithm>
#include<cmath> 
using namespace std;
typedef long long ll;
const ll N = 1e5+10;
ll n;
ll arr[N];
int main() 
{cin >> n;for(ll i = 1 ; i <= n ; i++)cin >> arr[i];sort(arr+1,arr+1+n);int mid = (abs(arr[1]) + abs(arr[n])) / 2;cout << arr[n] - mid;return 0;
}

http://www.lryc.cn/news/526952.html

相关文章:

  • 【设计模式-行为型】访问者模式
  • 无人机微波图像传输数据链技术详解
  • SpringCloud系列教程:微服务的未来(十七)监听Nacos配置变更、更新路由、实现动态路由
  • 【QT】 控件 -- 显示类
  • 反馈驱动、上下文学习、多语言检索增强等 | Big Model Weekly 第55期
  • CF 41A.Translation(Java实现)
  • 14【学历和能力哪个更重要】
  • Learning Vue 读书笔记 Chapter 2
  • SpringBoot支持动态更新配置文件参数
  • 开发技巧,vue 中的动态组件的引用 component + is
  • 基于SpringBoot+WebSocket的前后端连接,并接入文心一言大模型API
  • PSD是什么图像格式?如何把PSD转为JPG格式?
  • c语言中mysql_query的概念和使用案例
  • 一次端口监听正常,tcpdump无法监听到指定端口报文问题分析
  • 解决InnoDB: Failing assertion: !lock->recursive
  • 基于微信小程序的外卖点餐系统设计与实现ssm+论文源码调试讲解
  • Helm Chart 实现 Kubernetes 应用的多环境部署与镜像更新
  • “腾讯、钉钉、飞书” 会议开源平替,免费功能强大
  • 我谈区域偏心率
  • 思科交换机telnet配置案例
  • 机器学习:支持向量机
  • 人工智能前沿技术进展与应用前景探究
  • (一)HTTP协议 :请求与响应
  • 什么是网络爬虫?Python爬虫到底怎么学?
  • NR_shell运行流程简析
  • CSS Fonts(字体)
  • 基于Django的Boss直聘IT岗位可视化分析系统的设计与实现
  • linux系统中的 scp的使用方法
  • x5music3.0 admin_index.php 后台权限绕过漏洞复现(附脚本)
  • 【单链表算法实战】解锁数据结构核心谜题——相交链表