Pagini recente » Cod sursa (job #816869) | Cod sursa (job #2647466) | Borderou de evaluare (job #961036) | Cod sursa (job #2481484) | Cod sursa (job #1942379)
#include <stdio.h>
using namespace std;
long v[18][18];
int main()
{
FILE *in, *out;
in = fopen("flip.in", "r");
out = fopen("flip.out", "w");
int n, m;
fscanf(in, "%d%d", &n, &m);
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
fscanf(in, "%d", &v[i][j]);
}
}
for(int i=0; i<n; i++){
if(v[i][m-1]>0){
for(int j=0; j<m; j++){
v[i][j]*=-1;
}
}
}
for(int i=0; i<n; i++){
v[i][m-1]*=-1;
}
for(int i=m-2; i>=0; i--){
long s1=0;
long s2=0;
for(int j=0; j<n; j++){
s1+=v[j][i];
}
for(int j=0; j<n; j++){
s2+=-1*v[j][i];
}
if(s2>s1){
for(int j=0; j<n; j++){
v[j][i]*=-1;
}
}
}
long sum=0;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
sum+=v[i][j];
}
}
fprintf(out, "%ld", sum);
return 0;
}