Pagini recente » Cod sursa (job #517232) | Cod sursa (job #2440649) | Cod sursa (job #1337785) | Cod sursa (job #3040842) | Cod sursa (job #3185584)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long int n,m;
long long int a[19],mat[19][19],mask,doi[18],sumlin[19],total,maxim=-1000000000,aux;
int main()
{
doi[0]=1;
for(int i=1;i<=16;i++)
doi[i]=2*doi[i-1];
fin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
fin>>mat[i][j];
sumlin[i]+=mat[i][j];
total+=mat[i][j];
}
}
for(int mask=0;mask<=doi[n-1];mask++)
{
aux=total;
for(int x=0;x<n;x++)
{
if(mask&(1<<x))
aux=aux-sumlin[x+1]+sumlin[x+1]*-1;
}
for(int j=1;j<=m;j++)
{
long long int auxs=0;
for(int i=1;i<=n;i++)
if(mask&(1<<(i-1)))
{
auxs+=-1*mat[i][j];
}
else
{
auxs+=mat[i][j];
}
if(auxs<0)
aux=aux-auxs+(-1)*auxs;
}
if(maxim<aux)
maxim=aux;
}
fout<<maxim;
return 0;
}