Pagini recente » Cod sursa (job #2857106) | Cod sursa (job #1128327) | Cod sursa (job #2252844) | Cod sursa (job #1321785) | Cod sursa (job #1283167)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 20;
int N, M, A[NMAX][NMAX], Ans;
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%i %i", &N, &M);
for(int i = 0; i < N; ++ i)
for(int j = 0; j < M; ++ j)
scanf("%i", &A[i][j]);
for(int Conf = 0; Conf < (1 << N); ++ Conf)
{
for(int i = 0; i < N; ++ i)
if(Conf & (1 << i))
for(int j = 0; j < M; ++ j)
A[i][j] *= -1;
int Total = 0;
for(int j = 0; j < M; ++ j)
{
int S1 = 0, S2 = 0;
for(int i = 0; i < N; ++ i)
S1 += A[i][j], S2 += -A[i][j];
Total += max(S1, S2);
}
Ans = max(Ans, Total);
for(int i = 0; i < N; ++ i)
if(Conf & (1 << i))
for(int j = 0; j < M; ++ j)
A[i][j] *= -1;
}
printf("%i\n", Ans);
}