Pagini recente » Cod sursa (job #1957606) | Cod sursa (job #2119300) | Cod sursa (job #2879116) | Cod sursa (job #317901) | Cod sursa (job #2787267)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("elimin.in");
ofstream cout("elimin.out");
int a[90][7300], sum[7300];
bool ok[90];
int main() {
int n, m, r, c, ans = 0;
cin >> n >> m >> r >> c;
if (n <= m) {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
cin >> a[i][j];
}
}
} else {
for (int j = n; j; --j) {
for (int i = 1; i <= m; ++i) {
cin >> a[i][j];
}
}
swap(n, m);
swap(r, c);
}
for (int stare = 0; stare < (1 << n); ++stare) {
int cnt = 0;
for (int bit = 0; bit < n; ++bit) {
if (stare & (1 << bit)) {
++cnt;
ok[bit + 1] = false;
} else ok[bit + 1] = true;
}
if (cnt != r)
continue;
for (int i = 1; i <= m; ++i) {
sum[i] = 0;
for (int j = 1; j <= n; ++j) {
if (ok[j])
sum[i] += a[j][i];
}
}
sort (sum + 1, sum + m + 1);
int r = 0;
for (int i = m; i > c; --i) {
r += sum[i];
}
ans = max(ans, r);
}
cout << ans;
return 0;
}