Pagini recente » Cod sursa (job #60011) | Cod sursa (job #2659557) | Cod sursa (job #569505) | Cod sursa (job #2618038) | Cod sursa (job #1873393)
#include<bits/stdc++.h>
using namespace std;
long long n, m, a[20][20], b[20], rez[20], sum_rez = -1<<30,auxa[20][20],sum_rez1 = -1<<30;
int main()
{
ifstream cin("flip.in");
ofstream cout("flip.out");
cin >> n >> m;
for (int i = 0 ; i < n; i++) for (int j = 0 ; j < m; j++) {cin >> a[i][j];auxa[i][j] = a[i][j];}
for (int i = 0; i < 1<<m; i++)
{
long long aux = i;
long long sum = 0;
for(int j = 0; j < m; j++) b[j] = aux%2, aux/=2;
for(int j = 0; j < m; j++)
for(int z = 0; z < n; z++)
{
if(b[j]) sum -= a[z][j];
else sum += a[z][j];
}
if (sum > sum_rez)
{
sum_rez = sum;
for(int j = 0; j < m; j++) rez[j] = b[j];
}
}
for (int i = 0; i < m; i++)
{
if(rez[i]){
for (int j = 0; j < n; j++)
{
auxa[j][i] *= -1;
}
}
}
for (int i = 0 ; i < n; i++)
{
long long aux_sum = 0;
for(int j = 0; j < m; j++)
{
aux_sum += a[i][j];
}
if(aux_sum < 0) sum_rez += -2*aux_sum;
}
cout << max(sum_rez, 0);
}