1536: 【编程基础】小 X 与小和尚(sum)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
研究了这么多学术性的问题,小 X 想听个故事来放松一下自己的大脑。而小 X 最喜欢听的是这样一个故事: 从前有座山 , 山 里有座庙, 庙里有个老和尚和小和尚,老和尚给小和尚讲故事: 从前有座山 , 山里有座庙, 庙里有个老和尚和小和尚,老和尚给小和尚讲故事: 从前有座山……
不过讲着讲着,老和尚也有点累 了,所以这一次老和尚不给小和尚讲故事了,老和尚要求小和尚去敲木鱼。 这个敲木鱼是有讲究的,在开始敲之前老和尚会告诉小和尚一个数 n。而小和尚在敲的时候, 第一次敲 1 下, 第二次敲 2 下... 第 n 次敲 n 下, 第 n+1 次敲 n 下, 第 n+2 次敲 n-1 下... 第 2× n 次敲 1 下,第 2× n+1 次敲 1 下, 第 2× n+2 次敲 2 下……
如果用一个简单的数列 来表示小和尚 每次敲了多少 下,那应该是: 1, 2, 3,……, n-1, n, n, n-1, n-2,……, 3, 2, 1, 1, 2, 3,……
简单说来就是 1~n, n~1, 1~n 一直这么循环地敲下去。
小和尚数着数着就不记得自己敲了多少下了,而他只记得自己刚刚敲完第 m 次。 马上老和尚就要来检查小和尚是不是在认真的敲了,小和尚没办法, 只 能求助于你, 希望你能告诉他, 敲完第 m 次的时候,他一共敲了多少下?
输入
输入数据共有一行包含两个用空格隔开的整数表示 n 和 m。
输出
输出数据仅有一行包含一个正整数ans, 表示最后小和尚一共敲了 ans下。
注意运算时数据可能比较大, C++ 选手请使用 long long
样例输入 复制
3 8
样例输出 复制
15
提示
【数据范围】
对于 40% 的数据, 1 ≤ m ≤ 100000
对于另外 30% 的数据, n = 2
对于 100% 的数据, 1 ≤ n ≤ 10, 1 ≤ m ≤ 1000000000
【样例解释】
小和尚共敲了 8 次木鱼, 第一次敲了 1 下, 第二次敲了 2 下, 第三次敲了 3 下, 第四次敲了 3 下, 第
五次敲了 2 下, 第六次敲了 1 下, 第七次敲了 1 下, 第八次敲了 2 下,总共敲了 15 下。
来源
常州市2016“信息与未来”夏令营选拔赛
对于 40% 的数据, 1 ≤ m ≤ 100000
对于另外 30% 的数据, n = 2
对于 100% 的数据, 1 ≤ n ≤ 10, 1 ≤ m ≤ 1000000000
【样例解释】
小和尚共敲了 8 次木鱼, 第一次敲了 1 下, 第二次敲了 2 下, 第三次敲了 3 下, 第四次敲了 3 下, 第
五次敲了 2 下, 第六次敲了 1 下, 第七次敲了 1 下, 第八次敲了 2 下,总共敲了 15 下。
来源
常州市2016“信息与未来”夏令营选拔赛