• Source
    1. #include<stdio.h>
    2. #include<iostream>
    3. #include<map>
    4. #include<vector>
    5.  
    6. using namespace std;
    7.  
    8. struct data
    9. {
    10. long cnt,val,index;
    11. };
    12.  
    13. vector<data>vec;
    14.  
    15. map<int,int>mp;
    16.  
    17. int main()
    18. {
    19. int tag=0,n,i;
    20. data ob;
    21. while(scanf("%d",&n)==1)
    22. {
    23. if(mp.find(n)==mp.end())
    24. {
    25. mp[n]=++tag;
    26. ob.val=n;
    27. ob.cnt=1;
    28. ob.index=tag;
    29. vec.push_back(ob);
    30. }
    31. else
    32. {
    33. i=mp[n];
    34. vec[i-1].cnt+=1;
    35. }
    36. }
    37.  
    38. for(i=0;i<vec.size();i++)
    39. {
    40. printf("%ld %ld\n",vec[i].val,vec[i].cnt);
    41. }
    42.  
    43. return 0;
    44. }