Pagini recente » Cod sursa (job #2820575) | Cod sursa (job #2407169) | Cod sursa (job #2802853) | Cod sursa (job #2057865) | Cod sursa (job #2479179)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
long long** matr;
int n, m;
int finalSum() {
long long result = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
result += matr[i][j];
}
}
return result;
}
int main() {
in >> n >> m;
matr = new long long* [n];
for (int i = 0; i < n; i++) {
matr[i] = new long long[m];
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
in >> matr[i][j];
}
}
for (int i = 0; i < n; i++) {
long long sumNeg = 0, sumPos = 0;
for (int j = 0; j < m; j++) {
if (matr[i][j] < 0) sumNeg += matr[i][j];
else sumPos += matr[i][j];
}
if (abs(sumNeg) > sumPos) {
//cout << "AM MODIFICAT I: " << i << endl;
for (int j = 0; j < m; j++) {
matr[i][j] *= -1;
}
}
}
for (int j = 0; j < m; j++) {
long long sumNeg = 0, sumPos = 0;
for (int i = 0; i < n; i++) {
if (matr[i][j] < 0) sumNeg += matr[i][j];
else sumPos += matr[i][j];
}
if (abs(sumNeg) > sumPos) {
//cout << "AM MODIFICAT J: " << j << endl;
for (int i = 0; i < n; i++) {
matr[i][j] *= -1;
}
}
}
out << finalSum();
return 0;
}