#5027. USACO 2012 二月比赛 铜牌组 Rope Folding

USACO 2012 二月比赛 铜牌组 Rope Folding

题目描述

农夫约翰有一根长度为 L(1 ≤ L ≤ 10,000)的绳子,上面打了 N 个结(1 ≤ N ≤ 100),其中包括两个端点(位置 0 和 L)。
FJ 可以在绳子上选择一个 非端点 的位置 f(0 < f < L)进行一次折叠,使得折叠后左右两段绳子上的 所有结关于折叠点对称(即两两重合)。
折叠时允许一侧多出多余的绳段,但 折叠点必须不是端点
求满足条件的折叠点 f 的数量。

输入格式

  • 第 1 行:两个空格分隔的整数 NL
  • 第 2~N+1 行:每行一个整数 k_i(0 ≤ k_i ≤ L),表示第 i 个结的位置。
    保证 0 和 L 一定出现。

输出格式

  • 第 1 行:一个整数,表示合法的折叠点数量

样例

样例输入

5 10
0
10
6
2
4

样例输出

4

样例解释

  • 绳子长度 L = 10,结位置为 {0, 2, 4, 6, 10}。
  • 合法折叠点:1、2、3、8 共 4 个。

数据范围与提示

  • 1 ≤ N ≤ 100
  • 1 ≤ L ≤ 10,000
  • 所有结位置互不相同
  • 折叠点必须是 0 < f < L 的整数