#937. 病毒增殖
病毒增殖
病毒增殖
题目描述
生物实验室里有一种病毒。初始时培养皿中有 1 个病毒。每过 1 小时,每个病毒都会分裂成 个(即病毒总数变为原来的 倍)。研究员想知道经过 小时后培养皿里共有多少个病毒。
但培养皿最多只能容纳 个病毒,一旦超过就会爆皿。请你在结果超过 时输出 -1 警示,否则输出 小时后的病毒总数。
输入格式
一行两个正整数 、,分别表示每个病毒的分裂倍数、经过的小时数。
输出格式
一行一个整数:若 小时后病毒数不超过 ,输出该总数;否则输出 -1。
样例
样例 #1
输入
2 10
输出
1024
样例 #2
输入
100 5
输出
-1
样例 #3
输入
1 30
输出
1
样例 2 解释:,爆皿,输出 -1。
样例 3 解释:每代都只有 1 个(1 的任何次方都是 1),不会爆皿,输出 1。
数据范围
- 对于 的数据,,。
- 乘法过程中结果可能远超
int范围,请注意使用 64 位整数,并在中途及时判断是否已经超过 。