社区讨论
妹子求助:求差错!
P1404平均数参与者 9已保存回复 16
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 16 条
- 当前快照
- 1 份
- 快照标识符
- @lod8ol4s
- 此快照首次捕获于
- 2023/10/31 02:34 2 年前
- 此快照最后确认于
- 2023/11/05 13:01 2 年前
本人刚学二分答案
CPP#include<bits/stdc++.h>
#define yaz 100001
using namespace std;
double a[yaz],b[yaz],sum[yaz];
int i,n,len;
double mid;
signed main(){
cin>>n>>len;
for(i=1;i<=n;++i) scanf("%lf",&a[i]);
double l=0,r=1e6;
while(r-l>1e-5){
mid=(r+l)/2;
for(i=1;i<=n;i++) b[i]=a[i]-mid;
for(i=1;i<=n;i++){
sum[i]=(sum[i-1]+b[i]);
double ans=-1;
double xiao=1e6;
for(i=len;i<=n;i++){
xiao=min(xiao,sum[i-len]);
ans=max(ans,sum[i]-xiao);
}
if(ans>=0) l=mid;else r=mid;
}
}
cout<<int(r*1000)<<endl;return 0;
}
回复
共 16 条回复,欢迎继续交流。
正在加载回复...