Pagini recente » Cod sursa (job #33923) | Cod sursa (job #1197164) | Cod sursa (job #339389) | Cod sursa (job #2981961) | Cod sursa (job #2422801)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[16][16], m, n, sign[16];
long long maxim = - 9223372036854775807;
long long sum()
{
long long sum = 0;
for(int i = 0; i < m; i++)
{
long long s = 0;
for(int j = 0; j < n; j++)
s += (a[i][j] * sign[j]);
sum += abs(s);
}
return sum;
}
void bkt (int x)
{
if(x == m)
{
if(sum() > maxim)
maxim = sum();
}
else
{
sign[x] = 1;
bkt (x + 1);
sign[x] = -1;
bkt (x + 1);
}
}
int main()
{
fin>>m>>n;
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
fin>>a[i][j];
}
for (int i = 0; i <= m; i++) sign[i] = 1;
bkt(1);
fout<<maxim;
return 0;
}