统计 (count.c/cpp/pas)

统计 (count.c/cpp/pas)

【问题描述】
fjzzq2002有n个数{a_n },他有两种操作:
将下标在[a,b]的数均改成y;
询问所有数字中,在区间[a,b]出现率大于等于p%的所有数。
一共有m次操作。为了让这道题变得简单,当出现询问操作时,你可以输出k个数,只要这k个数完全包含答案就判定为正确。注意:需要满足k×p≤100。
【输入格式】
输入文件名为count.in。
第一行,三个数,n,m,p,含义如题目所示。
第二行,n个数,描述这个序列。
接下来m行,每行表示一次操作,格式为:
1 a b y:描述一次操作1,将下标为[a,b]的数全部改为y;
2 a b:描述一次操作2,询问所有数字中,在区间[a,b]出现率大于等于p%的所有数。
【输出格式】
输出文件名为count.out。
对于每个询问操作,在一行内输出若干个数。其中每行第一个数k,表示你接下来输出的数的数量;接下来k个数,以空格隔开,作为你的答案。
【输入输出样例】
见选手目录下的count/count1.in和count/count1.out。
count1.in

5 5 50
2 3 3 3 3
2 2 5
1 1 3 2
2 2 5
1 4 5 10
2 2 5

count1.out
2 7 3
2 2 3
2 2 10
【输入输出样例说明】
对于p=50,你可以输出不超过2个数。对于第一次询问,当前序列{2,3,3,3,3} ,答案为3,你可以如样例所示输出2个数7和3,其中完全包含了答案3;对于第二次询问,当前序列{2,2,2,3,3},答案为2和3;对于第三次询问,当前序列{2,2,2,10,10},答案为2和10。

信息

难度
10
分类
(无)
标签
递交数
2
已通过
0
通过率
0%
被复制
1
上传者