Pagini recente » Cod sursa (job #2312804) | Cod sursa (job #327140) | Cod sursa (job #2724607) | Cod sursa (job #1334878) | Cod sursa (job #1518113)
#include <fstream>
using namespace std;
bool fl(int puteri[], unsigned short n, unsigned short flag)
{
short s = 0;
for (short i = 0; i < n; i++)
if (flag & puteri[i]) s++;
if (s > n/2 + 1) return true;
else return false;
}
int main()
{
ifstream ii ("flip.in");
ofstream oo ("flip.out");
unsigned short n, m, i, j, flag;
ii >> n >> m; int a[n][m]; int puteri[n+1];
long long sum = 0, s = 0, cl = 0;
for (puteri[0] = 1, i = 0; i < n; i++, puteri[i] = puteri[i-1]*2)
for (j = 0; j < m; j++)
ii >> a[i][j];
for (flag = 0; flag < puteri[n]; flag++, s = 0)
{
if (fl(puteri, n, flag)) continue;
for (j = 0; j < m; j++, cl = 0)
{
for (i = 0; i < n; i++)
cl += a[i][j] * (flag & (unsigned short)(puteri[i]) ? 1 : -1);
s += (cl > 0 ? cl : -cl);
}
if (s > sum) sum = s;
}
oo << sum;
}