Advertisement
Guest User

Untitled

a guest
May 2nd, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std ;
  4.  
  5. unsigned long long n , k , a[300009] , elim[300009] ;
  6.  
  7. unsigned long long solve(int j){
  8.     int nr = 0 ;
  9.     unsigned long  rez = 0 ;
  10.     for(int i = 1 ; i <= n ; i ++){
  11.         if(elim[i] == 0 && (a[i] >> j) & 1){
  12.             nr ++ ;
  13.         }
  14.     }
  15.     if(nr >= k){
  16.         for(int i = 1 ; i <= n ; i ++){
  17.             if(!((a[i] >> j) & 1)){
  18.                 elim[i] = 1 ;
  19.             }
  20.         }
  21.         rez = (1 << j) ;
  22.     }
  23.     return rez ;
  24. }
  25.  
  26. int main(){
  27.     unsigned long long rez = 0 ;
  28.     cin >> n >> k ;
  29.     for(int i = 1 ; i <= n ; i ++){
  30.         cin >> a[i] ;
  31.     }
  32.     for(int j = 32 ; j >= 0 ; j --){
  33.         rez += solve(j) ;
  34.     }
  35.     cout << rez ;
  36.     return 0 ;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement