记录编号 |
22391 |
评测结果 |
AAAAAAAAAA |
题目名称 |
八 |
最终得分 |
100 |
用户昵称 |
郭乾乐 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.163 s |
提交时间 |
2010-11-19 07:43:59 |
内存使用 |
0.26 MiB |
显示代码纯文本
#include<cstdio>
using namespace std;
int n,r,l,gc=0;
long long ans[16],a[16],dd=0,ci=0;
long long lcm(long long a,long long b)
{
long long r,x=a,y=b;
while(a%b!=0)
{
r=a%b;
a=b;
b=r;
}
return x/b*y;
}
void dfs(int dep)
{
if(dep==n)
{
if(ci==0) return;
long long t=8;
for(int i=0;i<ci;i++)
t=lcm(t,ans[i]);
if(ci%2==0) dd-=(r/t-l/t);
else dd+=(r/t-l/t);
return;
}
dfs(dep+1);
ans[ci]=a[dep];
ci++;
dfs(dep+1);
ci--;
}
int main()
{
freopen("eight.in","r",stdin);
freopen("eight.out","w",stdout);
int i,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lld",&a[i]);
scanf("%d%d",&l,&r);
sum+=(r/8-l/8);
dfs(0);
printf("%d\n",(sum-dd));
return 0;
}