/ Vijos / 题库 /

期货市场

期货市场

时间限制:1秒  内存限制:256M


【问题描述】

  期货市场上流行的“追涨杀跌”,意思是每次你购买期货时的价格一定要比你上次购买时的价格高。给定连续的 \(N\) 天中每天的期货价格,你可以在任何一天购买一次期货,但是购买时的价格一定要比你上次购买时的价格高。写一个程序,求出最多能购买多少次,以及有多少种方案。

  注意:在计算方案的数量的时候,如果两个方案的期货价序列相同,虽然时间不同,但这样的两个方案被认为是相同的(只能算做一个方案)。

【输入格式】

  第一行包含整数 \(N\),表示 \(N\) 天。
  接下来的 \(N\) 行,每行一个整数,其中第 \(i+1\) 行表示第 \(i\) 天的价格。

【输出格式】

  第一行的整数表示可以最多购买的次数;
  第二行的整数,表示最多购买次数的方案数 \(mod\ (10^9+7)\)。

【输入输出样例】

 Input

6
1
3
2
2
4
5

 Output

4
2

【输入输出样例解释】

  最多购买4次,有2种方案:
  方案1:1 3 4 5
  方案2:1 2 4 5

【数据说明】

  对于 \(100\%\) 的数据 \(1≤N≤5000\),\(1≤\)价格\(≤10^9\)。

【来源】

  Mr.he

信息

ID
1685
难度
(无)
分类
动态规划 | LIS递推 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
1
上传者