Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t;
  6. cin>>t;
  7. int u=1;
  8. while(t--)
  9. {
  10. int n,k,maxm=0;
  11. cin>>n>>k;
  12. cout<<"Case "<<u++<<":"<<endl;
  13. map<string ,int> m;
  14. queue<string> q;
  15. set<string> st;
  16. string s,l,p;
  17. for(int i=0;i<n;i++)
  18. {
  19. cin>>s;
  20. if(q.size()<k)
  21. q.push(s);
  22. else
  23. {
  24. p=q.front();
  25. q.pop();
  26. m[p]--;
  27. q.push(s);
  28. st.erase(p);
  29. if(l==p)
  30. maxm=m[p];
  31. }
  32. m[s]++;
  33. st.insert(s);
  34. if(m[s]>=maxm)
  35. {
  36. l=s;
  37. maxm=m[s];
  38. }
  39. if(m[p]>=maxm)
  40. {
  41. maxm=m[p];
  42. l=p;
  43. }
  44. set<string>::iterator it;
  45. for(it=st.begin();it!=st.end();it++)
  46. {
  47. if(m[*it]==maxm)
  48. {
  49. l=*it;
  50. break;
  51. }
  52. }
  53. cout<<l<<" "<<maxm<<endl;
  54. }
  55. }
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement