求助!!不知道哪里出了问题!!
  • 板块P1007 独木桥
  • 楼主FELT
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/11/23 22:45
  • 上次更新2023/11/3 23:40:19
查看原帖
求助!!不知道哪里出了问题!!
583647
FELT楼主2021/11/23 22:45
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int l,n,a[5001],b[5001],i,min,max,m,o;//m代表最长时间; o代表最短时间里的最大的; 
	cin>>l>>n;
	for(i=0;i<n;i++){
		cin>>a[i];
	}
	max=a[0];
	min=a[0];
	for(i=0;i<n;i++){
		if(a[i+1]>a[i])max=a[i+1];
		if(a[i+1]<a[i])min=a[i+1];//在坐标中找出最大值和最小值; 
	}
	if((l-max)>=(min-1)){
		m=l-min;
	}
	else{
		m=max-1;//找出最大值和最小值哪个走出独木桥更慢; 
	}
	for(i=0;i<n;i++){
		if((a[i]-1)<(l-a[i])){
			b[i]=a[i]-1;
		}
		if(a[i]-1>(l-a[i])){
			b[i]=l-a[i]; 
		}
	}//利用数组b来记录每一个士兵走出独木桥的最短时间; 
	o=b[1];
	for(i=0;i<n;i++){
		if(b[i+1]>b[i])o=b[i+1];
	}//每个士兵都要走出独木桥,找出所有人最短时间中的最大值; 
	cout<<o<<" "<<m;
	return 0;
 } 
2021/11/23 22:45
加载中...