n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。

例如:竿子长10cm,3只蚂蚁位置为2 6 7,最短需要4秒(左、右、右),最长需要8秒(右、右、右)。

Input

第1行:2个整数N和L,N为蚂蚁的数量,L为杆子的长度(1 <= L <= 10^9, 1 <= N <= 50000)
第2 - N + 1行:每行一个整数A[i],表示蚂蚁的位置(0 < A[i] < L)

Output

输出2个数,中间用空格分隔,分别表示最短时间和最长时间。

Input示例

3 10
2
6
7

Output示例

4 8

最长时间就是距离端点最远的距离所需要的时间;
最短时间就是每个点距离较短的那个端点的最大距离所需要的时间:
可以自己在纸上验证;
因为如果两只蚂蚁相遇会换方向,所以它们要走的路程就是另外一只蚂蚁不换方向情况下要走的路程,所以只需要按照上面改的方法求就可;

具体看代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
#include<math.h>
#include<map>
#include<vector>
#include<stack>
#include<iostream>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
const int N=1000105;int main()
{int n,l;while(~scanf("%d %d",&n,&l)){int i,mini=0,a,maxx=0;for(i=0;i<n;i++){scanf("%d",&a);maxx=max(maxx,max(a,l-a));//最长时间mini=max(mini,min(a,l-a));//最短时间}printf("%d %d\n",mini,maxx);}return 0;
}

【51Nod 1266】蚂蚁问题相关推荐

  1. 51nod 1266 蚂蚁

    1266 蚂蚁 题目来源: Poj 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:2级算法题 n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉 ...

  2. 51Nod - 1266 蚂蚁

    n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的距离xi, ...

  3. 51Nod 1266 蚂蚁

    n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的距离xi, ...

  4. 【51nod】---蚂蚁(模拟)

    题目链接:题目 1266 蚂蚁 题目来源: Poj 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:2级算法题 收藏 关注 n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行. ...

  5. 【51Nod】1266 蚂蚁

    题意 n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的距离 ...

  6. 【51Nod - 1266】蚂蚁(水题)

    n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的距离xi, ...

  7. 1266 蚂蚁(思维题)

    n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去.对于每只蚂蚁,我们知道它距离竿子左端的距离xi, ...

  8. 51nod1266 蚂蚁

    原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1266 思路:我们可以知道,假设一只向右一只向左,相遇后,向右 ...

  9. kali2020进入单模式_蚂蚁集团技术专家山丘:性能优化的常见模式及趋势

    陈显铭(山丘) 读完需要 6分钟 速读仅需 2 分钟 陈显铭,花名山丘,就职于蚂蚁集团,对分布式应用架构.服务化.性能优化等有深入的理解.参与支付宝支付链路核心系统,设计.调优应用系统关键能力, 高效 ...

最新文章

  1. 第十八天:规划风险管理和识别风险
  2. SPOJ1811最长公共子串问题(后缀自动机)
  3. soap签名_签名SOAP消息–生成封装的XML签名
  4. Linux服务部署之NTP时间服务器
  5. 黑客魔术!如何黑掉一台根本不联网的电脑
  6. nagios监控linux主机及服务信息
  7. 是不是人老了,子女都不愿和老人相处?
  8. linux8如何开启多个桌面,CentOS8安装GNOME3桌面并设置开机启动图形界面
  9. FFmpeg架构之I/O模块分析
  10. 布行管理软件,布行软件有什么用?
  11. 推荐几款珍藏多年的插件,好用到爆,进来瞅瞅有没有
  12. 蓝牙音频中Classic Audio和LEAudio对比和区别
  13. 彻底改变计算机用户名,提升电脑系统安全:如何修改电脑登录用户名以及密码呢?...
  14. 成长篇-靡有不凡鲜克有终-02
  15. LATTICE FPGA 工具介绍之ACTIVE-HDL 建立工程及仿真步步来(2)
  16. android 蓝牙打印 js,Native.js 安卓连接蓝牙打印机【可连续打印】
  17. layer打开弹窗时传递参数(content:)【layer弹窗插件】
  18. 再读德鲁克#1-信息挑战
  19. java jdk 8u101_JDK1.8安装
  20. centos7installan安装postgresql9.6,解决重音不敏感”排序规则,以及扩展pgcrypto函数

热门文章

  1. 腾讯T3整理分享的LeetCode算法小抄完整文档
  2. 自动控制系统的基本性能指标
  3. IPV6 | 华为思科配置
  4. 新版unity2019.3 全局光照GI 系统以及反射探针的详细说明教程
  5. TM、ETM+数据介绍.doc
  6. java 获取屏幕_java 获取屏幕大小
  7. 【181202】VC++ 实现图像中的文字提取源代码
  8. linux进程笔记,Linux自学笔记——linux进程及作业管理
  9. 如何用免费版EssentialPIM Pro Business管理你的个人信息V11.1
  10. Cocos Creator 开发QQ玩一玩入门到放弃?