Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std ;
- unsigned long long n , k , a[300009] , elim[300009] ;
- unsigned long long solve(int j){
- int nr = 0 ;
- unsigned long rez = 0 ;
- for(int i = 1 ; i <= n ; i ++){
- if(elim[i] == 0 && (a[i] >> j) & 1){
- nr ++ ;
- }
- }
- if(nr >= k){
- for(int i = 1 ; i <= n ; i ++){
- if(!((a[i] >> j) & 1)){
- elim[i] = 1 ;
- }
- }
- rez = (1 << j) ;
- }
- return rez ;
- }
- int main(){
- unsigned long long rez = 0 ;
- cin >> n >> k ;
- for(int i = 1 ; i <= n ; i ++){
- cin >> a[i] ;
- }
- for(int j = 32 ; j >= 0 ; j --){
- rez += solve(j) ;
- }
- cout << rez ;
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement