Pagini recente » Solutii preONI 2006 - Runda a 3-a | Cod sursa (job #1044292) | Cod sursa (job #464827) | Cod sursa (job #154677) | Cod sursa (job #1518100)
#include <fstream>
#include <cmath>
using namespace std;
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 (i = 0; i < n; puteri[i] = pow(2, i), i++)
for (j = 0; j < m; j++)
ii >> a[i][j];
puteri[n] = pow(2, n);
for (flag = 0; flag < puteri[n]; flag++, s = 0)
{
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;
}