社区讨论
70分,三个超时求调必关
B4196[海淀区小学组 2023] 赛车游戏参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mjcnfom8
- 此快照首次捕获于
- 2025/12/19 17:10 2 个月前
- 此快照最后确认于
- 2025/12/21 10:05 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=2e6+1000;
map<string,int> mp;
int a[N];
int main(){
int T;
cin>>T;
while(T--){
int n,m;
double s=0;
memset(a,0,sizeof(a));
cin>>n>>m;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int mil=1,mir=1,ml=1,mr=n;
double l=0,r=m;
while(ml<=mr){
double xm=(a[ml]-l)/mil*1.000000,mx=(r-a[mr])/mir*1.000000;
if(xm<mx){
l=a[ml];
mil++;
ml++;
s+=xm;
r-=mir*xm;
}else{
r=a[mr];
mir++;
mr--;
s+=mx;
l+=mil*mx;
}
//1 11 11 11 11 1
}
s+=(r-l)/(mil+mir);
//cout<<mir<<" "<<mil;
cout<<fixed<<setprecision(6)<<s<<endl;
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...