1 条题解

  • 0
    @ 2022-6-19 21:50:13
    #include<iostream>
    #include<cstdlib>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #define pb push_back
    #define RG register
    #define il inline
    using namespace std;
    typedef long long ll;
    typedef double dd;
    const int N=10000000;
    const int mod=100000001;
    il ll read(){
        RG ll d=0,w=1;char ch=getchar();
        while(ch!='-'&&(ch<'0'||ch>'9'))ch=getchar();
        if(ch=='-')w=-1,ch=getchar();
        while(ch>='0'&&ch<='9')d=d*10+ch-48,ch=getchar();
        return d*w;
    }
    
    int n,A,B,C;
    vector<int>a;
    dd ans;
    
    int main()
    {
        n=read();A=read();B=read();C=read();a.push_back(read());
        for(RG int i=1;i<n;i++)a.pb((1ll*a[i-1]*A+B)%mod);
        for(RG int i=0;i<n;i++)a[i]=a[i]%C+1;
        ans+=min(a[0],a[n-1])*1.0/a[0]/a[n-1];
        for(RG int i=0;i<n-1;i++)ans+=min(a[i],a[i+1])*1.0/a[i]/a[i+1];
        printf("%.3lf\n",ans);
        return 0;
    }
    
    • 1

    信息

    ID
    298
    时间
    1000ms
    内存
    125MiB
    难度
    4
    标签
    递交数
    2
    已通过
    2
    上传者