Advertisement
CosminVarlan

pbinfo_4015_unique

Jan 19th, 2022
677
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. unsigned int u[6251];  /// aici avem 32 x 6251 biti = 200032;  -- daca e aici inseamna ca apare o data
  6. unsigned int v[6251];  /// aici avem 32 x 6251 biti = 200032;  -- daca e si aici atunci apare de mai multe ori
  7. int k;
  8.  
  9.  
  10. int getBit(int poz, unsigned int a[]){
  11.     return ((a[poz/32] & (1 << (poz%32)))>0);
  12. }
  13. void setBit(int poz, unsigned int a[]){
  14.     a[poz/32] |= (1 << (poz%32));
  15. }
  16.  
  17.  
  18. int main()
  19. {
  20.     while(cin >> k){
  21.  
  22.         if(getBit(k,u)) {
  23.             setBit(k,v);  /// marchez a doua aparitie (cel putin a doua)
  24.         }
  25.         else
  26.         {
  27.             setBit(k,u); /// imi apare prima oara
  28.  
  29.         }
  30.     }
  31.  
  32.     int contor=0;
  33.     for(int i=0; i<200000; i++)
  34.         if(getBit(i,u) && !(getBit(i,v))) contor++;
  35.  
  36.     cout << contor;
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement