75 #4647. 投球游戏(十二届蓝桥杯C++国赛)

投球游戏(十二届蓝桥杯C++国赛)

投球游戏

题目描述:

有一个投球游戏,玩法是将球投到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球。

输入描述:

第一行输入一个正整数N(2<N<20)表示篮筐的个数

第二行分别输入N个正整数(10<正整数<1000)并以一个空格隔开,分别表示篮筐距离和N个篮筐顺序,每个篮筐的距离都不相同

输出描述:

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

​样例输入:​3

130 200 55

​样例输出:​2

评分标准:

20分:能正确输出一组数据;

20分:能正确输出两组数据;

20分:能正确输出三组数据;

20分:能正确输出四组数据。

Limitation

1s, 1024KiB for each test case.