Pagini recente » Cod sursa (job #2368586) | Cod sursa (job #793112) | Cod sursa (job #1962997) | Cod sursa (job #1209971) | Cod sursa (job #3318216)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int main()
{
int N, M;
fin >> N >> M;
long long A[20][20];
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
fin >> A[i][j];
bool first = true;
long long maxSum = 0;
for (int mask = 0; mask < (1 << N); mask++)
{
long long colSum[20];
for (int j = 0; j < M; j++)
colSum[j] = 0;
for (int i = 0; i < N; i++)
{
int sign = ((mask >> i) & 1) ? -1 : 1;
for (int j = 0; j < M; j++)
colSum[j] += A[i][j] * sign;
}
long long total = 0;
for (int j = 0; j < M; j++)
{
if (colSum[j] < 0)
colSum[j] = -colSum[j];
total += colSum[j];
}
if (first)
{
maxSum = total;
first = false;
}
else if (total > maxSum)
maxSum = total;
}
fout << maxSum;
return 0;
}