题目名称 2700. [CodeforcesEduR22] 黄金年代
输入输出 TheGoldenAge.in/out
难度等级 ★☆
时间限制 50 ms (0.05 s)
内存限制 256 MiB
测试数据 77
题目来源 Gravatarcqw 于2017-06-06加入
开放分组 全部用户
提交状态
分类标签
数学
分享题解
通过:8, 提交:15, 通过率:53.33%
GravatarAAAAAAAAAA 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.000 s 0.00 MiB C++
GravatarNVIDIA 100 0.016 s 0.38 MiB C++
GravatarArrow 100 0.016 s 0.39 MiB C++
Gravatar雪狼 100 0.020 s 0.31 MiB C++
GravatarOstmbh 100 0.023 s 0.31 MiB C++
GravatarkZime 100 0.024 s 0.31 MiB C++
GravatarkZime 43 0.350 s 1.53 MiB C++
GravatarNVIDIA 34 0.000 s 0.00 MiB C++
关于 黄金年代 的近10条评论(全部评论)
fwrite还没搞懂(原来特么是写文件,不能直接输出),再研究一波,不过用fread的时候为毛省略主函数会慢啊(目前在某些题有这种情况,不是很懂)
顺带这题写法from lrj
GravatarNVIDIA
2017-06-29 14:01 3楼
long long 足矣
GravatarAAAAAAAAAA
2017-06-28 19:17 2楼
O2O2
GravatarOstmbh
2017-06-07 14:20 1楼

2700. [CodeforcesEduR22] 黄金年代

★☆   输入文件:TheGoldenAge.in   输出文件:TheGoldenAge.out   简单对比
时间限制:0.05 s   内存限制:256 MiB

【题目描述】

在BERLAND不幸的年是这样的年,其数目$N$可以表示为$N=x^a+y^b$其中a和b都是非负整数。

例如,如果$x  = 2$和$y  = 3$,则年4和17是不幸的($4 = 2^0  + 3^1$,$17 = 2^3  + 3^2  = 2^4  + 3^0$),年份18是幸运的,因为没有这样的表示。

这个没有不幸的岁月的这段时间称为黄金时代。

你应该写一个程序,找出黄金时代的最大长度,这段黄金年代应该开始于不早于年份l,结束于不晚于年份r 。如果区间$[l,r]$中的所有年份都不幸运,则答案为0。

附上上一段的英文原文:

You should write a program which will find maximum length of The Golden Age which starts no earlier than the year l and ends no later than the year r. If all years in the interval [l, r] are unlucky then the answer is 0

【输入格式】

第一行包含四个整数$x,y,l,r$ ($2 \leq x,y \leq 10^{18},1\leq l \leq r \leq 10^{18}$)。

【输出格式】

输出仅包含一行:在$[l,r]$中黄金年代的最大长度

【样例】

Input
2 3 1 10

Output
1
Input
3 5 10 22

Output
8
Input
2 3 3 5

Output
0

【来源】

Educational Codeforces Round 22 B. The Golden Age http://codeforces.com/contest/813/problem/B

数据:官方数据

【提示】

记得开unsigned long long 数据很鬼畜,注意溢出