#T1102. [2021第十二届蓝桥杯青少年组省赛] 求和比较
[2021第十二届蓝桥杯青少年组省赛] 求和比较
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第4题
题目描述
小蓝在学习 C++ 数组时,突发奇想想知道如果将一个连续的正整数数组拆分成两个子数组,然后对拆分出的两个子数组求和并做差,且差值正好等于一个固定的正整数,像这样同一连续的正整数数组拆分方案有多少种。
我们一起帮助小蓝设计一下规则:
- 第一给出两个正整数 N 和 M;
- 第二从 1 到 N 组成一个连续正整数数组 ;
- 第三将数组 A 拆分成两个子数组 A1、A2(1.两个子数组中不能出现相同的数;2.子数组中的数字可以是连续的也可以是不连续的;3.拆分出的两组子数组的元素个数可以不同,但总数量等于A数组元素个数);
- 第四对 A1、A2 两个子数组分别求和;
- 第五对 A1、A2 两个子数组的和做差(大的数字减去小的数字);
- 第六如果差值正好等于固定值M,则判定此拆分方案成立。
如:N = 5,M = 1,连续正整数数组 A = {1, 2, 3, 4, 5}。
符合条件的拆分方案有 3 种:
- A1 = {1, 2, 4}, A2={3, 5}, 其中A1的和为7,A2的和为 8,和的差值等于 1
- A1 = {1, 3, 4}, A2 = {2, 5}, 其中A1的和为8,A2的和为 7,和的差值等于 1
- A1 = {3, 4}, A2 = {1, 2, 5}, 其中A1的和为7,A2的和为 8,和的差值等于 1
输入格式
输入两个正整数 和 。
输出格式
输出拆分方案数。
样例 #1
样例输入 #1
5 1
样例输出 #1
3