周赛FFFFFFFFFFFFFFF
admin
2024-05-08 11:17:54
0

小霾作为ACM工作室现役最强日语大师,有一套学习日语的绝活:记单词!

每当小霾打开一本有n个单词的日语书,他都会从头开始记单词,由于小霾虽然很强但并不是天才,他同一时间最多记住k个单词,每当看到小霾在记满k个单词的情况下遇到没记住的单词,小霾就会忘掉最先记住单词,来记新单词。由于这些日语书是园哥给的,上面可能包含了很多相同单词,每个单词都有一个编号。

请你告诉小霾他最后记住了几个单词,并把这些单词的编号输出。
 

Input

输入的第一行包含两个整数n和k(1≤n,k≤2e5)-日语书上的单词数和小霾同一时间最多记的单词种类数。
输入的第二行包含n个整数id1,id2,…,idn(1≤idi≤1e9),其中idi是日语书第i个单词的编号。

Output

在输出的第一行中,输出一个整数m(1≤m≤min(n,k))-表示最后小霾记住的单词数
在第二行中,输出m个整数ids1,ids2,…,idsm,其中idsi是小霾按照从后到先顺序记住的单词数。

Examples

Input

7 2
1 2 3 2 1 3 2

Output

2
2 1 

Input

10 4
2 3 3 1 1 2 1 2 3 3

Output

3
1 3 2 

Note

在第一个样例中,小霾记住的单词编号如下(从先记到后记的顺序):

[];
[1];
[2,1];
[3,2];
[3,2];
[1,3];
[1,3];
[2,1]。
在第二个示例中:

[];
[2];
[3,2];
[3,2];
[1,3,2];
然后到最后也不会改变。

 

模拟就好了

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define dbug cout<<"hear!"<> n >> k;queuesix;mapmp;while (n--){ll x;cin >> x;if (mp[x] >= 1){continue;}else {mp[x]++;}if (six.size() == k){ll cnt = six.front();six.pop();mp[cnt] = 0;six.push(x);}else{six.push(x);}}ll cnt = six.size();cout << cnt << endl;ll ant = 0;while (!six.empty()){arr[ant] = six.front();six.pop();ant++;}for (ll i = ant - 1;i >= 0;i--){cout << arr[i] << ' ';}
}

 

相关内容

热门资讯

打发时间一元一分红中麻将跑得快... 认准微——as099055或as022055——客服扣675434346免押%D%A
哪里有一元一分血战到底麻将群_... 微【ss28210】【vy23547【z36121】四川血战换三张红中推倒胡等麻将群,加微拉群 随...
放假不休息手机娱乐16张跑得快... 加群主威【yb68468或cc355389】【qq707940021】(一块一分四川川嘛血战)(一元...
一元一分四川麻将上分群四川麻将... 红中麻将一元一分APP方式:认准微—VY23547—z36L2L——客服扣398233877免押金、...
(盘点十款)1元1分正规麻将群... 正规广东红中癞子麻将,15张跑得快,一元一分群,24小时不熄火
哪里有熊猫一元一分广东麻将上下... +薇:mj08522或hz05832游戏类型:单挑,多人,亲友圈模式、秒上下,所有用户都是微信实名制...
微信一毛钱血战麻将1块一分微信... 四川血战麻将群群主微84947069 5500166带押进群,群内跑包包赔支持验证一元四川血战换三...
“发慌!””清友会管清友“是陷... 网恋有风险,恋爱需谨慎!“他们”通过网页,社交软件,等形式发布有色广告,诱骗点击链接下载APP,随即...