Cod sursa(job #279300)
#include<fstream>
#define sizelimit 17
using namespace std;
int array[sizelimit][sizelimit], n, m;
long long sum, sumpos, sumneg;
void read()
{
ifstream in ("flip.in");
in>>n>>m;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
in>>array[i][j];
in.close();
}
void comutalinia(int linia)
{
for (int i=0;i<m;i++)
array[linia][i]*=-1;
}
void comutacoloana(int coloana)
{
for (int i=0;i<n;i++)
array[i][coloana]*=-1;
}
int main()
{
read();
for (int i=0;i<n;i++) {
sumpos=0; sumneg=0;
for (int j=0;j<m;j++) {
if (array[i][j]>0) sumpos+=array[i][j];
else if (array[i][j]<0) sumneg+=array[i][j]*(-1);
}
if (sumneg > sumpos) comutalinia(i);
}
for (int j=0;j<m;j++) {
sumpos=0; sumneg=0;
for (int i=0;i<n;i++) {
if (array[i][j]>0) sumpos+=array[i][j];
else if (array[i][j]<0) sumneg+=array[i][j]*(-1);
}
if (sumneg > sumpos) comutacoloana(j);
}
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
sum+=array[i][j];
ofstream out ("flip.out");
out<<sum;
out.close();
return 0;
}