P1007题解
2026-01-10 18:01:16
发布于:山东
2阅读
0回复
0点赞
分析
既然只能走一人,最小肯定不能向一个方向走,直接分开,分一个从从左到右到,换右方向,最大的话最慢都朝一个方向走也就是坐标最大的地方,就是时间。不懂看示意图。

AC代码
#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;
}
这里空空如也







有帮助,赞一个