• Source
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4. using namespace std;
    5.  
    6. struct data
    7. {
    8. char a;
    9. int vt;
    10. }typedef data;
    11.  
    12. int cmp (data a, data b)
    13. {
    14. if (a.a<b.a) return 0;
    15. else if (a.a==b.a)
    16. {
    17. if (a.vt>b.vt) return 0;
    18. }
    19. return 1;
    20. }
    21.  
    22. int main ()
    23. {
    24. string xau;
    25. cin>>xau;
    26. vector <data> v;
    27. for (int i=0; i<xau.length(); i++)
    28. {
    29. data tg;
    30. tg.a=xau[i];
    31. tg.vt=i;
    32. v.push_back(tg);
    33. }
    34. sort (v.begin(), v.end(), cmp);
    35.  
    36. int vtm=-1;
    37. for (int i=0; i<v.size(); i++)
    38. {
    39. if (v[i].vt>vtm)
    40. {
    41. cout<<v[i].a;
    42. vtm=v[i].vt;
    43. }
    44. }
    45. return 0;
    46. }