[YsOI2023] 前缀和
题目背景
Ysuperman 模板测试的试机题。
小心立秋,小心秋丽。
题目描述
立秋有一个长度为 n n n 的数组 a a a,所有数字都是正整数,并且除了其中第一个数字以外其它数字都等于前面所有数字的和。
例如,数组 [ 1 , 1 , 2 , 4 , 8 , 16 ] [1,1,2,4,8,16] [1,1,2,4,8,16] 就有可能是立秋有的一个数组,因为除了第一个数字 1 1 1,后面的每个数字都是前面数字的和,例如:
- 第二个数字 1 = 1 1=1 1=1。
- 第三个数字 2 = 1 + 1 2=1+1 2=1+1。
- 第四个数字 4 = 1 + 1 + 2 4=1+1+2 4=1+1+2。
- 第五个数字 8 = 1 + 1 + 2 + 4 8=1+1+2+4 8=1+1+2+4。
- 第六个数字 16 = 1 + 1 + 2 + 4 + 8 16=1+1+2+4+8 16=1+1+2+4+8。
现在立秋告诉了秋丽数字 x x x 存在于这个数组中,秋丽希望知道 a n a_n an 最小会是多少,或者说整个数组最后一个数字最小有多少。
输入格式
本题有多组测试数据。
输入第一行一个数字 T T T 表示测试数据组数。
接下来 T T T 行每行两个正整数 n , x n,x n,x。
输出格式
输出共 T T T 行,分别表示每组测试数据的答案。
对于某组数据 n , x n,x n,x,输出一行一个正整数表示可能的最小的 a n a_n an。
样例 #1
样例输入 #1
3
2 2
3 2
4 2
样例输出 #1
2
2
4
样例 #2
样例输入 #2
3
3 1
3 2
3 4
样例输出 #2
2
2
4
样例 #3
样例输入 #3
3
2 6
3 6
4 6
样例输出 #3
6
6
12
样例 #4
样例输入 #4
3
3 3
3 6
3 12
样例输出 #4
6
6
12
提示
样例 1 解释
- 第一组数据只有唯一可能的数组 [ 2 , 2 ] [2,2] [2,2],所以答案为 2 2 2;
- 第二组数据有两种可能的数组,分别是 [ 2 , 2 , 4 ] [2,2,4] [2,2,4] 和 [ 1 , 1 , 2 ] [1,1,2] [1,1,2],所以答案为 2 2 2;
- 第三组数据有两种可能的数组,分别是 [ 2 , 2 , 4 , 8 ] [2,2,4,8] [2,2,4,8] 和 [ 1 , 1 , 2 , 4 ] [1,1,2,4] [1,1,2,4],所以答案为 4 4 4。
样例 2 解释
- 第一组数据只有唯一可能的数组 [ 1 , 1 , 2 ] [1,1,2] [1,1,2],所以答案为 2 2 2;
- 第二组数据有两种可能的数组 [ 1 , 1 , 2 ] [1,1,2] [1,1,2] 和 [ 2 , 2 , 4 ] [2,2,4] [2,2,4],所以答案为 2 2 2;
- 第三组数据有两种可能的数组 [ 2 , 2 , 4 ] [2,2,4] [2,2,4] 和 [ 4 , 4 , 8 ] [4,4,8] [4,4,8],所以答案为 4 4 4。
数据范围
对于前 30 % 30\% 30% 的数据,满足 x x x 不能被 2 2 2 整除,或者说 2 2 2 不是 x x x 的一个因数,或者说 x x x 是奇数。
另有 30 % 30\% 30% 的数据,满足 x x x 可以被 2 n − 2 2^{n-2} 2n−2 整除,或者说 2 n − 2 2^{n-2} 2n−2 是 x x x 的一个因数。
另有
20
%
20\%
20% 的数据,满足
x
≤
1000
x\le 1000
x≤1000,可以证明在这个数据范围下答案可以使用一个 int
类型变量存储。
对于 100 % 100\% 100% 的数据,满足 1 ≤ T ≤ 1 0 4 1\le T\le 10^4 1≤T≤104, 2 ≤ n ≤ 20 2\le n\le 20 2≤n≤20, 1 ≤ x ≤ 1 0 9 1\le x\le 10^9 1≤x≤109。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容