#LQB0035. 投球游戏

投球游戏

题目描述:

有一个投球游戏,玩法是将球投到N个篮筐里。具体玩法如下:
投篮顺序必须同时符合以下三个规则:
例如给出的3个篮筐距离和顺序为130 200 55。
规则一:第一次投篮可以投任意一个篮筐;
规则二:从第二次投篮开始,每一次投篮只能投顺序在上一次篮筐的后面的篮筐;
如果第一次投的200篮筐,那么接下来就不能投130的篮筐,可以投55的篮筐。
规则三:从第二次投篮开始,每一次投篮只能投比上一次投篮距离更近的篮筐。
如果第一次投的130的篮筐,那么接下来不能投200的篮筐,只能投55的篮筐。
现给出N的数值,和N个篮筐的距离及顺序,假定每次投篮都能投进,请你编写程序计算按照投球规则最多能投进几个球。

如:N=3,3个篮筐的距离及顺序为:130 200 55 按照三条规则,一共有以下三种投球方案:
1)如果第一次投130,那么投130,55,最多可以投进2球;
2)如果第一次投200,那么投200,55,最多可以投进2球;
3)如果第一次投55,那么投55,最多可以投进1球。
则按照规则最多可投进2球。

输入格式

第一行输入一个正整数 NN,表示篮筐个数。
第二行输入 NN 个正整数 d1,d2,,dNd_1,d_2,\dots,d_N(以空格分隔),表示篮筐距离,且两两不同。

输出格式

输出一个整数,表示最多能投进球的个数。

样例输入输出

样例输入1

3
130 200 55

样例输出1

2

数据范围与测试点说明

  • 3N193\le N\le 19
  • 10<di<100010<d_i<1000,且 did_i 两两不同。

时间限制与内存限制

  • 时间限制:11
  • 内存限制:10241024 KiB