Pagini recente » Cod sursa (job #2469939) | Cod sursa (job #992877) | Cod sursa (job #170646) | Cod sursa (job #3328417) | Cod sursa (job #3350287)
#include <fstream>
#include <algorithm>
#include <climits>
int main() {
int n, m;
std::ifstream fin("flip.in");
std::ofstream fout("flip.out");
fin >> n >> m;
long long a[16][16];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
fin >> a[i][j];
}
}
long long maxSum = LLONG_MIN;
for (int subset = 0; subset < (1 << n); subset++) {
long long b[16][16];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
b[i][j] = (subset >> i & 1) ? -a[i][j] : a[i][j];
}
}
long long total = 0;
for (int j = 0; j < m; j++) {
long long colSum = 0;
for (int i = 0; i < n; i++) {
colSum += b[i][j];
}
total += std::max(colSum, -colSum);
}
maxSum = std::max(maxSum, total);
}
fout << maxSum;
return 0;
}