Skip to content

13028: 【原3028】数列的秘密

题目

题目描述

author: 杨欢 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/3028

Description

向哥最近在研究数列,他需要知道在他所研究的数列中,最大的数是多少(Max),最小的数是多少(Min),最大的数的最小的数次幂是多少(Max^Min),所有数的乘积是多少。要知道,这样的问题是肯定难不倒向哥的。但是,最近向哥突发奇想,想要研究下这个数列的更深层的性质,所以他决定不断的从这个数列中删去一些数,每次删除后都研究下当前数列。由于数列项数很大,这给向哥带来了很大的麻烦,于是向哥请你帮他写一个程序,来完成下列操作。 1. D x:表示从数列中删除x,保证数列中一定会有x。 2. B:输出当前数列中的最大数,保证数列不为空。 3. S:输出当前数列中的最小数,,保证数列不为空。 4. M:输出Max^Min除以317847191的余数,其中Max为当前数列中的最大数,Min为当前数列中的最小数,保证数列不为空。 5. T:输出数列中所有数的乘积除以317847191的余数,保证数列不为空。

Input Format

共M+2行 第1行:两个正整数N,M,N表示初始数列的长度,M表示操作数。 第2行:N个正整数,第i个数表示初始数列中的第i项Ai,数列中有可能会有相同的数。 第3~M+2行:每行表示一个操作,具体格式参见题目描述。

Output Format

每行一个数,分别表示每个操作的结果(D x操作不需要有输出)。

Hint

对于50%的数据:N<=1000,M<=100,Ai<=4000。 对于100%的数据:N<=10^6,M<=10^6,Ai<=10^8。

Sample Input

3 6
2 6 9
M
D 9
B
S
M
T

Sample Output

81
6
2
36
12

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!