Pagini recente » Cod sursa (job #1077395) | Cod sursa (job #1494192) | Cod sursa (job #581793) | Cod sursa (job #2441342) | Cod sursa (job #2787270)
#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 i = 1; i <= n; ++i) {
if (!ok[i])
continue;
for (int j = 1; j <= m; ++j) {
sum[j] += a[i][j];
}
}
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;
}