Pagini recente » Cod sursa (job #2338449) | Cod sursa (job #1238935) | Cod sursa (job #2175837) | Cod sursa (job #1578209) | Cod sursa (job #2729642)
#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;
}