求助,最后四个点WA了TT
查看原帖
求助,最后四个点WA了TT
272314
Autonomier楼主2020/5/11 23:31
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define maxn 10000000
inline int read()
{
	int s=0,w=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    return s*w;
}
int A,B,C;
int n;
int a[10000010];
double res;
inline void generate()
{
	//cout<<1;
	scanf("%d%d%d%d%d", &n, &A, &B, &C, a + 1);
	for (int i = 2; i <= n; i++)
		a[i] = ((long long) a[i - 1] * A + B) % 100000001;
	for (int i = 1; i <= n; i++)
		a[i] = a[i] % C + 1;
	//cout<<1; 
}
int main()
{
	generate();
/*	for(int i=1;i<=n;i++)
	{
		cout<<a[i]<<" ";
	}*/
	for(int i=2;i<=n+1;i++)
	{
		if(i==n+1)
		{
			double t1=min(a[n],a[1]);
			double t2=a[n]*a[1];
			double t3=(double)t1/t2;
			res+=t3;
			break;
		}
		double t1=min(a[i],a[i-1]);
		double t2=a[i]*a[i-1];
		double t3=(double)t1/t2;
		res+=t3;
	}
	printf("%.3lf",res);
 	return 0;
}
2020/5/11 23:31
加载中...