记录编号 |
425580 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
[国家集训队2011]单选错位 |
最终得分 |
100 |
用户昵称 |
Hzoi_Mafia |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.444 s |
提交时间 |
2017-07-15 15:00:16 |
内存使用 |
5.77 MiB |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read(){
int sum(0);
char ch(getchar());
for(;ch<'0'||ch>'9';ch=getchar());
for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
return sum;
}
int n,A,B,C;
int a[10000001];
double ans(0);
inline double my_max(double a,double b){
return a>b?a:b;
}
inline int gg(){
freopen("nt2011_exp.in","r",stdin);
freopen("nt2011_exp.out","w",stdout);
n=read(),A=read(),B=read(),C=read(),a[1]=read();
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;
for(int i=1;i<n;i++)
ans+=1.0/my_max(a[i],a[i+1]);
ans+=1.0/my_max(a[1],a[n]);
printf("%.3f",ans);
return 0;
}
int k(gg());
int main(){;}