P8808求助
  • 板块题目总版
  • 楼主zgy_123
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/10/25 20:29
  • 上次更新2023/10/27 05:54:10
查看原帖
P8808求助
577628
zgy_123楼主2022/10/25 20:29
#include<iostream>
#include<cstring>
using namespace std;
int a[10005],b[100005],n;
int f(int x){
	if(x>=1e6) return -1;
	int cnt=0;
	b[1]=b[2]=x;
	if(b[1]!=a[1]) cnt++;
	if(b[2]!=a[2]) cnt++;
	for(int i=3;i<=n;i++){
		b[i]=b[i-1]+b[i-2];
		if(b[i]>1e6) return -1;
		if(b[i]!=a[i]) cnt++;
	}
	return cnt;
}
int main(){
	int i=0,ans=2e9;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	while(1){
		i++;
		if(f(i)==-1) break;
		ans=min(ans,f(i));
//		cout<<i<<' '<<f(i)<<endl;
	}
	cout<<ans;
	return 0;
}

2022/10/25 20:29
加载中...