#include <iostream> #include <algorithm> using namespace std; const int N(1009); int sto[N]={0},s[N]={0}; bool exist[N]={0}; int main() { int m,n,ans(0),word; cin>>m>>n; for(int i=1,p=1;i<=n;i++) { scanf("%d",&word); if(!exist[word]) { ans++; exist[word]=true; if(sto[0]<m) { sto[0]++; sto[sto[0]]=word; } else { exist[sto[p]]=false; sto[p]=word; p++; if(p>m) p=1; } } } cout<<ans<<endl; return 0; } /************************************************************** Problem: 2296 User: admin Language: C++ Result: Accepted Time:48 ms Memory:2080 kb ****************************************************************/