蚂蚁逃离(ant)

【问题描述】

在一段即将被水淹没的很窄通道里有很多蚂蚁,蚂蚁都在以相同的速度(1单位长度/秒)移动,它们会在不同的位置上排成一列,但蚂蚁的开始反向有向左的也有向右的。

当两个蚂蚁以相反的方向在太窄而无法通过的通道中相遇时,蚂蚁会转头调转方向继续移动,速度不变。

问蚂蚁需要多少时间才能全部跑出这个通道?

【输入格式】
第一行2个正整数L和N。分别表示通道的长度和蚂蚁的个数。

第二行N个非0整数,如果数是正数,数的值表示蚂蚁距离左通道端点的位置,蚂蚁开始方向向左。如果数是负数,数的绝对值表示蚂蚁距离右通道端点的位置,蚂蚁开始方向向右。

【输出格式】
  一个整数。

image


  1. 两只蚂蚁遇见时,可以理解成它们互相穿过(不影响总时间)
  2. 每只蚂蚁爬到出口所需要的时间是 它到出口的路程的绝对值(一秒走一个单位)
  3. 总共需要的时间是所有蚂蚁各自需要的时间的最大值

#include<bits/stdc++.h>
using namespace std;
int main() {
int l,n;
cin>>l>>n;
int ans=INT_MIN;
for(int i=1; i<=n; i++) {
int k;
cin>>k;
ans=max(ans,abs(k));
}
cout<<ans;
return 0;
}

EOF

posted on   可爱楷玩算法  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示