fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9. vector<int> v = { 1, 1, 2, 3, 4, 4, 4, 5 };
  10. std::set<int> set(v.begin(), v.end());
  11. v.erase(
  12. std::remove_if(
  13. v.begin(),
  14. v.end(),
  15. [&set] (int item) { return !set.erase(item); }),
  16. v.end());
  17.  
  18. // print the results -- sadly no range-based for available on ideone
  19. for (auto i = v.begin(); i != v.end(); ++i) {
  20. cout << *i << " ";
  21. }
  22.  
  23.  
  24. return 0;
  25. }
Success #stdin #stdout 0s 3064KB
stdin
Standard input is empty
stdout
1 2 3 4 5