参加完 IOI2018 之后就是姚班面试。而你,由于讨厌物理、并且想成为乔布斯一样的创业家,被成功踢回贵系。
转眼,时间的指针被指向 2019,大二,12 月初,考试周。
你早听学长说,数据结构期中考很难,对竞赛生不友好,集训队选手做不完卷子。
你冷笑。哼,堂堂国际金,这点难度的考试算什么。
两小时,你看完习题解析前五章所有内容,并且倒背如流;
一小时,你看了 500 页的讲义,并且记忆犹新;
十分钟,你骑车到考场,自信的你只带了一把水笔,虽然考试让带资料;
现在,摊开传说中神级卷子,你定神一看——
给出一个长度为  的序列  ,如果  中的一个子序列 ,满足条件:
- ,
那么称  为  的上升倍数子序列。
现在有一个长度为  的序列  被初始化为 ,以及  次对序列  的操作。此处要求实现如下四种操作:
- 0 x:在序列  的最左端插入一个数字 ;
- 1 x:在序列  的最右端插入一个数字 ;
- 2:移除序列  最左端的一个数字;
- 3:移除序列  最右端的一个数字;
在初始化序列  和每次操作之后,请计算此时序列  中最长上升倍数子序列的长度 ,以及所有长度为  的上升倍数子序列的不同的开头数 ,输出  和 。
为了大幅度降低题目难度,保证在任意时刻序列  非空,其中的元素互不相等,并且均为  之间的正整数;同一个数字最多只会被插入  次。