记录编号 597341 评测结果 AAAAAAAAAA
题目名称 小b爱实数 最终得分 100
用户昵称 Gravatarwdsjl 是否通过 通过
代码语言 C++ 运行时间 0.544 s
提交时间 2024-11-26 20:09:19 内存使用 13.91 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

double f,ans=1e9;
int a[1000010],n,L;
char s[1000010];

struct P{
	int x;double y;
}p[1000010];

bool cmp(P a,P b){
	return a.y<b.y;
}

int main(){
	freopen("changgao_real.in","r",stdin);
	freopen("changgao_real.out","w",stdout);
    scanf("%lf%s",&f,s+1);
	n=L=strlen(s+1);
    for(int i=1;i<=n;++i){
		a[i]=a[i-1]+s[i]-48;
		p[i]={i,f*i-a[i]};
	}
    sort(p,p+n+1,cmp);
    for(int i=0;i<n;++i)
        if(min(p[i].x,p[i+1].x)<L){
			if(fabs((p[i].y-p[i+1].y)/(p[i].x-p[i+1].x))-1e-6<ans){
				ans=fabs((p[i].y-p[i+1].y)/(p[i].x-p[i+1].x));
				L=min(p[i].x,p[i+1].x);
			}
		}else {
			if(fabs((p[i].y-p[i+1].y)/(p[i].x-p[i+1].x))+1e-6<ans){
				ans=fabs((p[i].y-p[i+1].y)/(p[i].x-p[i+1].x));
				L=min(p[i].x,p[i+1].x);
			}
		}
    cout<<L;
}