Pagini recente » Cod sursa (job #1844919) | Cod sursa (job #2833204) | Cod sursa (job #2814627) | Cod sursa (job #3309346) | Cod sursa (job #3304128)
#include <bits/stdc++.h>
using namespace std;
typedef long long i8;
int main() {
ifstream cin("flip.in");
ofstream cout("flip.out");
ios ::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
i8 n, m;
cin >> n >> m;
vector<vector<i8>> v(n, vector<i8>(m));
i8 sum = 0;
for (auto &e : v) {
for (auto &e1 : e) {
cin >> e1;
sum += e1;
}
}
i8 res = 0;
for (i8 i = 0; i < (1 << n); i++) {
for (int j = 0; (1 << j) <= i; j++) {
if ((i & (1 << j)) > 0) {
for (i8 k = 0; k < m; k++) {
v[j][k] *= -1;
sum += 2 * v[j][k];
}
}
}
for (i8 j = 0; j < m; j++) {
i8 scd = 0;
i8 add = 0;
for (i8 k = 0; k < n; k++) {
if (v[k][j] <= 0) {
add += 2 * abs(v[k][j]);
} else {
scd += 2 * v[k][j];
}
}
if (sum + add - scd > sum) {
sum = sum + add - scd;
}
}
res = max(res, sum);
for (int j = 0; (1 << j) <= i; j++) {
if ((i & (1 << j)) > 0) {
for (i8 k = 0; k < m; k++) {
v[j][k] *= -1;
sum += 2 * v[j][k];
}
}
}
}
cout << res << "\n";
return 0;
}