Pagini recente » Cod sursa (job #2054517) | Cod sursa (job #1916920) | Cod sursa (job #313831) | Cod sursa (job #2843949) | Cod sursa (job #2418345)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
const string FILE_NAME = "flip";
const int N_MAX { 20 };
template <typename T>
void p(T t) { cout << t << '\n'; }
template <typename T, typename... Args>
void p(T t, Args... args) {
cout << t << ' ';
p(args...);
}
ifstream in { FILE_NAME + ".in" };
ofstream out { FILE_NAME + ".out" };
int N, M;
int a[N_MAX][N_MAX];
int64_t sol { -(1LL << 62) };
void init() {
in >> N >> M;
for (int i { 1 }; i <= N; ++i)
for (int j { 1 }; j <= M; ++j)
in >> a[i][j];
}
int64_t suma() {
int64_t s { 0 };
for (int j { 1 }; j <= M; ++j) {
int64_t sCol { 0 };
for (int i { 1 }; i <= N; ++i)
sCol += a[i][j];
s += max(sCol, -sCol);
}
return s;
}
void invert(int k) {
for (int j { 1 }; j <= M; ++j)
a[k][j] = -a[k][j];
}
void nextLine(int k) {
if (k > N) {
sol = max(sol, suma());
return;
}
nextLine(k + 1);
invert(k);
nextLine(k + 1);
invert(k);
}
void solve() {
nextLine(1);
}
void print() {
out << sol;
}
int main() {
init();
solve();
print();
}