Pagini recente » Cod sursa (job #588574) | Cod sursa (job #1469423) | Cod sursa (job #1193252) | Cod sursa (job #1407163) | Cod sursa (job #952217)
Cod sursa(job #952217)
#include <cstdio>
#define NMAX 20
#define maxim(a,b) ((a>b)?(a):(b))
using namespace std;
long long m[NMAX][NMAX],a[2*NMAX],N,M,Sol;
void citire()
{
freopen("flip.in","r",stdin);
scanf("%lld %lld",&N,&M);
long long i,j;
for(i=1;i<=N;i++)
for(j=1;j<=M;j++)
scanf("%lld",&m[i][j]);
}
long long sum()
{
long long i,j,S=0,Saux;
for(j=1;j<=M;j++)
{
Saux=0;
for(i=1;i<=N;i++)
if(a[i])
Saux+=m[i][j];
else
Saux-=m[i][j];
if(Saux<0)
S-=Saux;
else
S+=Saux;
}
return S;
}
void solve()
{
long long i,j,aux;
for(i=(1<<N)-1;i>=0;i--)
{
for(j=1,aux=i;j<=N;a[j++]=aux&1,aux>>=1);
Sol=maxim(Sol,sum());
}
}
void afisare()
{
freopen("flip.out","w",stdout);
printf("%lld\n",Sol);
}
int main()
{
citire();
solve();
afisare();
return 0;
}