Pagini recente » Rating Peter Botond (bravopapa) | Cod sursa (job #490479) | Cod sursa (job #2181315) | Cod sursa (job #2584572) | Cod sursa (job #3198557)
#include <bits/stdc++.h>
#define _ ios::sync_with_stdio(0); cin.tie(0);
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
void greedy(int table[][17], int &n, int &m) {
int sumMax = 0;
for (int i = 1; i <= n; i++) {
int sumPos = 0, sumNeg = 0;
for (int j = 1; j <= m; j++)
if (table[i][j] > 0) sumPos += table[i][j];
else sumNeg += abs(table[i][j]);
if (max(sumPos, sumNeg) == sumNeg) {
for (int j = 1; j <= m; j++)
table[i][j] = table[i][j] * (-1);
}
}
for (int j = 1; j <= m; j++) {
int sumPos = 0, sumNeg = 0;
for (int i = 1; i <= n; i++)
if (table[i][j] > 0) sumPos += table[i][j];
else sumNeg += abs(table[i][j]);
if (max(sumPos, sumNeg) == sumNeg) {
for (int i = 1; i <= n; i++)
table[i][j] = table[i][j] * (-1);
}
}
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
sumMax += table[i][j];
fout << sumMax;
}
int main() {
int n,m; fin >> n >> m;
int table[17][17];
for (int i = 1; i < n+1; i++)
for (int j = 1; j < m+1; j++)
fin >> table[i][j];
greedy(table, n, m);
return 0;
}