比赛 20241126 评测结果 AAAAWWAWWA
题目名称 小b爱实数 最终得分 60
用户昵称 徐诗畅 运行时间 0.666 s
代码语言 C++ 内存使用 15.85 MiB
提交时间 2024-11-26 11:02:51
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
double f;
string s;
double num[2000005];
struct poi{
	double x,y;
}p[2000005];
bool cmp(poi x,poi y){
	return x.y<y.y;
}
int ans;
int main(){
	freopen("changgao_real.in","r",stdin);
	freopen("changgao_real.out","w",stdout);
	cin>>f>>s; num[0]=s[0]-'0';
	for(int i = 1;i<s.length();i++){
		num[i]=num[i-1]+s[i]-'0';
	}
	for(int i = 0;i<s.length();i++){
		p[i].x=i;
		p[i].y=f*i-num[i];
	}
	sort(p,p+s.length(),cmp);
	int ans=0; double tmp=1000000.0;
	for(int i = 0;i<s.length()-1;i++){
		double s=fabs((p[i+1].y-p[i].y)/(p[i+1].x-p[i].x)); //cout<<s<<endl;
		if(s<tmp) ans=min(p[i].x,p[i+1].x),tmp=s;
		if(fabs(tmp-s)<1e-6) ans=min(ans,(int)min(p[i].x,p[i+1].x));
	}
	printf("%d",ans+1);
	return 0;
}