Advertisement
newb_ie

Set / Unordered Set

Aug 16th, 2020
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. /*
  2. ======================
  3. [     ___T_          ]
  4. [    | 6=6 | =>HI :-)]
  5. [    |__o__|         ]
  6. [ >===]__o[===<      ]
  7. [     [o__]          ]
  8. [      .".           ]
  9. [      |_|           ]
  10. [                    ]
  11. ======================
  12.  */
  13.  
  14. #include<bits/stdc++.h>
  15. using namespace std;
  16. using lli = int64_t;
  17. //print unique element if order doesn't matter
  18. void print_unique_unordered(int input[],int n){
  19.     unordered_set<int> unique;
  20.     for(int i = 0; i < n; i++){
  21.         unique.insert(input[i]);
  22.     }
  23.     for(auto i : unique){
  24.         cout << i << " ";
  25.     }
  26. }
  27.  
  28. //ordered
  29. void print_unique_ordered(int input[],int n){
  30.     set<int> unique;
  31.     for(int i = 0; i < n; i++){
  32.         unique.insert(input[i]);
  33.     }
  34.     for(auto i : unique){
  35.         cout << i << " ";
  36.     }
  37. }
  38.  
  39. void print_sum_of_unique_element(int input[],int n){
  40.     unordered_set<int> unique;
  41.     int sum = 0;
  42.     for(int i = 0; i < n; i++){
  43.         int size = (int) unique.size();
  44.         unique.insert(input[i]);
  45.         if(size != (int) unique.size()){
  46.             sum += input[i];
  47.         }
  48.     }
  49.     cout << sum << "\n";
  50. }
  51. int main(){
  52.      ios::sync_with_stdio(false);
  53.      cin.tie(nullptr);
  54.      cout.tie(nullptr);
  55.      int n;
  56.      cin >> n;
  57.      int input[n];
  58.      for(int i = 0; i < n; i++){
  59.          cin >> input[i];
  60.      }
  61.      print_unique_ordered(input,n);
  62.      print_unique_unordered(input,n);
  63.      print_sum_of_unique_element(input,n);
  64. }
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement