社区讨论
70分(#5,#9,#10)WA求调(必关)
P1007独木桥参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhizziqy
- 此快照首次捕获于
- 2025/11/03 18:29 4 个月前
- 此快照最后确认于
- 2025/11/03 18:29 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
int l,n,point[5010]={0},a[5010]={0},b[5010]={0};
cin>>l>>n;
if(l==0&&n==0){
cout<<"0 0";
return 0;
}
for(int i=1;i<=n;i++){
cin>>point[i];
}
if(n==1){
cout<<l-point[1]+1<<" "<<point[1];
return 0;
}
sort(point+1,point+n+1);
//最短思路:用一个数组把每个人的需要时间存下来,取当中max输出(到头的距离+1);
//最长思路:用一个数组把每个人的需要时间存下来,取当中max输出(相遇的路程+相遇后到头的路程+1);
int mintime=0,maxtime=0;
for(int i=1;i<=n;i++){
if(point[i]<=l/2){
a[i]=point[i];
}else{
a[i]=l-point[i]+1;
}
}
for(int i=1;i<=n;i++){
mintime=max(mintime,a[i]);
}
cout<<mintime<<" ";
for(int i=1;i<=n;i++){
if(point[i]<l/2){
b[i]=l-point[i];
}else{
b[i]=point[i];
}
}
for(int i=1;i<=n;i++){
maxtime=max(mintime,b[i]);
}
cout<<maxtime;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...