Pagini recente » Cod sursa (job #1996476) | Monitorul de evaluare | Cod sursa (job #3352909) | Cod sursa (job #2039293) | Cod sursa (job #3344003)
#include <fstream>
#include <algorithm>
#define int long long
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int n, m, mx=0;
int v[20][20];
int c[20];
int l[20];
void verif()
{
int cnt=0;
for(int i=1; i<=n; i++)
{
l[i]=0;
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
l[i]+=v[i][j]*c[j];
}
}
sort(l+1, l+n+1);
for(int i=1; i<=n; i++)
{
if(l[i]<0)
cnt-=l[i];
else
cnt+=l[i];
}
mx=max(mx, cnt);
}
void rec(int k)
{
if(k==m+1)
{
verif();
}
else
{
c[k]=1;
rec(k+1);
c[k]=-1;
rec(k+1);
}
}
signed main()
{
cin>>n>>m;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
cin>>v[i][j];
}
}
rec(1);
cout<<mx;
return 0;
}