14 条题解

  • 0
    @ 2026-5-19 14:41:29
    #include<bits/stdc++.h>
    using namespace std;
    long long a,n,m,x,b[200],c[200],z[200],mid;
    void pro(int x) {
    	b[2]=x;
    	c[2]=x;
    	z[2]=a;
    	for (int i=3; i<=n-1; i++) {
    		b[i]=b[i-1]+b[i-2];
    		c[i]=b[i-1];
    		z[i]=z[i-1]+b[i]-c[i];
    	}
    }
    int main() {
    	cin>>a>>n>>m>>x;
    	long long l=0,r=100000000;
    	b[1]=a;
    	c[1]=0;
    	z[1]=a;
    	while (l<=r) {
    		mid=l+(r-l)/2;
    		pro(mid);
    		if (z[n-1]<m) l=mid+1;
    		else if (z[n-1]>m) r=mid-1;
    		else break;
    	}
    	cout<<z[x];
    }
    

    信息

    ID
    381
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    0
    上传者