Cod sursa(job #2729642)

Utilizator trucker4lifeMoraru Radu-Andrei trucker4life Data 25 martie 2021 00:11:07
Problema Elimin Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");

int m, n, r, c;
int arr[100][7300];
int del[100];
int col_sum[100];
int ans = -2000000000;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    fin >> m >> n >> r >> c;
    if (m > n) {
        for (int i = 0; i < m; i++)
            for (int j = 0; j < n; j++)
                fin >> arr[j][i];
        swap(m, n);
        swap(r, c);
    }
    else {
        for (int i = 0; i < m; i++)
            for (int j = 0; j < n; j++)
                fin >> arr[i][j];
    }

    for (int i = 0; i < (1 << m); i++) {
        int count = 0;
        for (int j = 1; j <= i; j <<= 1)
            if (j&i) count++;
        if (count == r) {
            int sum = 0;
            for (int j = 0; j < n; j++) {
                col_sum[j] = 0;
                for (int k = 0; k < m; k++)
                    if (!(i&(1<<k))) col_sum[j] += arr[i][j];
            }
            sort(col_sum, col_sum+n);
            for (int j = c; j < n; j++)
                sum += col_sum[j];
            ans = max(ans, sum);
        }
    }
    fout << ans;
}