译库内存调度

普及-⏱ 1000ms💾 256MB#P3195🏷️ 模拟队列

题目描述

翻译软件有一个容量为 $M$ 个词条的 FIFO 内存缓存,从头到尾逐词翻译文章: 遇到单词先查缓存——命中则直接使用;未命中则要查一次外存词典,并把该单词加入缓存; 若加入前缓存已满,则淘汰最早进入缓存的单词腾出位置。

翻译开始前缓存为空。给定文章的单词序列,统计需要查外存词典的次数。

输入格式

共两行:第一行两个整数 $M$(缓存容量)与 $N$(文章单词数); 第二行 $N$ 个非负整数(每个不超过 $1000$),为文章的单词序列。

输出格式

一行,一个整数:查外存词典的次数。

数据范围

$$M \le 100,\quad N \le 100000$$
,单词编号不超过 $1000$。

样例输入 #1
3 7
1 2 1 5 4 4 1
样例输出 #1
5
样例输入 #2
1 1
5
样例输出 #2
1