Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<map>#include<string>#include<iostream>using namespace std;const int MaxN=20001;const int MaxM=5001;map<string,int> lv;string url[MaxN];int N,M,s,t,i;int main(){lv.clear();scanf("%d%d\n",&N,&M);for(i=0;i<N;++i){cin>>url[i];t=i;if(lv.count(url[i]))cout<<"Cache"<<endl;else{cout<<"Internet"<<endl;if(lv.size()==M)lv.erase(url[s++]);}lv[url[i]]=i;while(lv[url[s]]!=s)++s;}