Untitled

 avatar
unknown
c_cpp
a year ago
491 B
5
Indexable
int n = indicators.size();
    int max_profit = 0;
 
    
    for (int i = 0; i < (1 << n); i++) {
        int current_or = 0;
        int current_profit = 0;
 
        
        for (int j = 0; j < n; j++) {
            if (i & (1 << j)) {
                current_profit += profit[j];
                current_or |= weights[j];
            }
        }
 
        
        if (current_or <= k) {
            max_profit = max(max_profit, current_profit);
        }
    }
 
    cout<< max_profit;
Editor is loading...
Leave a Comment