老板娘的促销方案
测试数据来自 system/1289
背景
我,floyed,今天突然灵光一闪,想到了道题目,所以,来给大家分享一下。
注意:本题目的描述中带有陷阱!!请不要把本题想的太复杂(因为我弱嘛),
也不要把本题想的太简单了!!
(会做的一定会BS我,不会做的一定也会BS我,所以,我郁闷……)
描述
老板娘最近想出了一种促销方案。
老板娘的库存有n种商品(每种商品假想数量是满足题目要求的),老板娘的促销方案就是从其中的两种或者三种商品各取出一个商品做成一个促销包,以29.9人民币卖给顾客。
老板娘仔细想了想,这n种商品中似乎有m种的价值是远远超过了29.9元的,如果就这样做成促销包的话,肯定亏大了。于是老板娘开始努力回想m到底是多少,但是由于年龄过高,记不起来了,而且数学又学的不是很好,无法计算方案到底有多少,如是乎,他想起了你——程序员。
现在你的任务有两个:
1、老板娘会告诉你一个她觉得最可信的m的数值,编程计算此时的促销包的方案个数,若不存在这样的情况,请输出“NO!”。
2、当m为所有可能情况时(0<m<n-2),编程计算促销包的所有方案个数。
格式
输入格式
第一行:n(库存的商品数目)
第二行:m (老板娘告诉你的她觉得最可信的m的数值)
其中:4<n<10^9;保证m合法。
输出格式
第一行:m时的促销包的方案个数
第二行:m为所有可能情况时的促销包的方案个数
说明:方案个数若超过100位则只需输出最后的100位的数值即可。
样例1
样例输入1
6
2
样例输出1
10
34
限制
每个测试点2.00s
提示
当m=1时,一共有5种商品可以用来做促销包,促销包一共有20种方案。
当m=2时,一共有4种商品可以用来做促销包,促销包一共有10种方案。
当m=3时,一共有3种商品可以用来做促销包,促销包一共有4种方案。
所以第一排输出20,因为10+20+4=34,所以第二排输出34。
30%的数据保证n<=10^3;
60%的数据保证n<=10^6;
100%数据保证n<=10^9;
来源
from myself--floyed.