比赛 20241126 评测结果 ATTTTEEEEE
题目名称 小b爱实数 最终得分 10
用户昵称 dick 运行时间 9.244 s
代码语言 C++ 内存使用 4.50 MiB
提交时间 2024-11-26 11:39:00
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=50005;
struct anstype
{
	int left;
	int right;
	double value;
} ans;
double wang,a,mi=1;
string rep;double f;
int asum[N];
double str[N];
void mxnear(anstype ans1,int x,int y){
	wang=double(asum[y]-asum[x]+str[x])/double(y-x+1);
//	cout<<abs(wang-f)<<endl;
	if(abs(ans1.value-f)>abs(wang-f)) { 
		ans.left=x;
		ans.right=y;
		ans.value=wang;
	}
} 
int main()
{
	freopen("changgao_real.in","r",stdin);
	freopen("changgao_real.out","w",stdout);
	int s=0;
	cin>>f;
	cin>>rep;
	for(int i=1;i<=rep.length();i++){
		str[i]=rep[i-1]-'0';
		if(str[i]==1) { 
		s++; 
		} asum[i]=s;
	}
	ans.left=1;
	ans.right=1;
	ans.value=9999;
	for(int i=1;i<=rep.length();i++){
		for(int j=i+1;j<=rep.length();j++){
			mxnear(ans,i,j);
		}
	}
	cout << ans.left-1;
}