题解P1007C++版(mjhcsp)

mjhcsp 2025-11-16 20:59:24
加精

 

插一句,这道题又不会做的吗?

 

分析
既然只能走一人,最小肯定不能向一个方向走,直接分开,分一个从从左到右到,换右方向,最大的话最慢都朝一个方向走也就是坐标最大的地方,就是时间。不懂看示意图

代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{//freopen(".in","r",stdin);freopen(".out","w",stdout);
 //fclose(stdin);fclose(stdout);
 //ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
     int sizee,n;int a[110000];cin>>sizee>>n;
     for(int i=1;i<=n;i++)
     {
         cin>>a[i];
 }if(n==0) 
 {cout<<0<<" "<<0;return 0;
 }
 sort(a+1,a+n+1);
     int maxx=0,minn=0;int mid=(sizee+1)/2;
     for(int i=1;i<=n;i++)
     {
         if(a[i]<=mid)
         {
            minn=max(minn,a[i]);
        }
        if(a[i]>mid)
        {
            minn=max(minn,sizee-(a[i]-1));
                break;
        }
     }
     maxx=max(sizee-a[1]+1,a[n]);
    cout<<minn<<" "<<maxx;
 return 0;
}
AI写代码
cpp
运行

————————————————
版权声明:本文为CSDN博主「mjhcsp」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/2501_90415399/article/details/153535297

 

...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2

社区成员

发帖
与我相关
我的任务
社区描述
一个用编程和数学改变人类的社区
c++ 个人社区 山东省·潍坊市
社区管理员
  • fastmjh
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

本社区无需审核,大家在这里算法交流,不要发布色情等违规行为

试试用AI创作助手写篇文章吧