大神们请问一下为什么我错了
  • 板块P1007 独木桥
  • 楼主yexing
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/10/2 11:53
  • 上次更新2023/11/4 05:10:22
查看原帖
大神们请问一下为什么我错了
460087
yexing楼主2021/10/2 11:53

我的思路是把桥分为两边 左边最大与右边最大比较出最快时间,最左边的人往右,最右边的人往左得出最长时间

#include <stdio.h>
int main(){
	int N;
	int L,loc[5001];
	scanf("%d%d",&L,&N);
	for(int i=0;i<N;i++)
	scanf("%d",&loc[i]);
	
	double temp;
	for(int j=0;j<N-1;j++)
	for(int k=0;k<N-j-1;k++){
		if(loc[k]>loc[k+1]){
			temp=loc[k];
			loc[k]=loc[k+1];
			loc[k+1]=temp;
		}
	}
	int tmin=-1,tmax=L-loc[0],t;
	int mid = (L-1)/2;
	
	for(int i=0;i<N;i++){
		if(loc[i]<=mid){
			if(tmin<loc[i]+1)
			tmin=loc[i]+1;
		}
		else{
			if(tmin<L-loc[i])
			tmin=L-loc[i];
			break;
		}
	}
	if(tmax<loc[N-1]+1)
		tmax=loc[N-1]+1;
	printf("%d %d",tmin,tmax);
} 
2021/10/2 11:53
加载中...