记录编号 |
418178 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
题目名称 |
[CodeforcesEduR22] 黄金年代 |
最终得分 |
100 |
用户昵称 |
NVIDIA |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.000 s |
提交时间 |
2017-06-29 14:04:18 |
内存使用 |
0.00 MiB |
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
using namespace std;
long long x,y,l,r,a[65],b[65],ans=0;
int c1=1,c2=1;vector<long long> sum;
char buf[1<<15],*fs,*ft;
inline char getc() {return (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft))?0:*fs++;}
inline long long q()
{
long long x=0,f=1; char ch=getc();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getc();}
while(isdigit(ch)){x=x*10+ch-'0';ch=getc();}return x*f;
}
/*char mas[1<<15],*FS=mas,*FT=mas+(1<<15);
#define ot(x) (fs==ft?fwrite(mas,1,1<<15,stdout),*(FS=mas)++=x:*FS++=x)
inline void w(int x)
{
if(x<0) {ot(45);x=-x;}
static char s[15],*b;b=s;
if(!x)*b++=48;
for(;x;*b++=x%10+48,x/=10);
for(;b--!=s;ot(*b));
}*/
inline int miao()
{
freopen("TheGoldenAge.in","r",stdin);freopen("TheGoldenAge.out","w",stdout);
x=q();y=q();l=q();r=q();a[0]=1;b[0]=1;
while(a[c1-1]<=r/x){a[c1]=a[c1-1]*x;c1++;}while(b[c2-1]<=r/y){b[c2]=b[c2-1]*y;c2++;}
for(int i=0;i<c1;i++){
for(int j=0;j<c2;j++){
if(a[i]+b[j]>=l){
if(a[i]+b[j]>r)break;
sum.push_back(a[i]+b[j]);}}}
int len=(int)sum.size();sort(sum.begin(),sum.end());if(!len){ans=r-l+1;}else{ans=max(sum[0]-l,r-sum[len-1]);}
for(int i=1;i<len;i++){ans=max(ans,sum[i]-sum[i-1]-1);}printf("%lld",ans);
return 0;
}
int aa=miao();
int main(){;}