Pagini recente » Cod sursa (job #506069) | Cod sursa (job #1449540) | Cod sursa (job #2008355) | Cod sursa (job #2393314) | Cod sursa (job #2189991)
#include <iostream>
#include <fstream>
#include <vector>
#include <stdlib.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
long long N,M,F[17][17],sn,sp,S_max;
long long Suma[50],Mod[20],aux,PU,ST; // 1-comutare
int main()
{
f>>N>>M;
for(int i=1;i<=N;i++)
{
sn=0; sp=0;
for(int j=1;j<=M;j++)
{
f>>F[i][j];
if(F[i][j]<0) sn+=F[i][j];
else sp+=F[i][j];
Mod[j]=F[i][j];
}
if(abs(sn)>=sp)
{
Suma[i]=abs(sn)+(-1)*sp;
for(int l=1;l<=N;l++) F[i][l]=Mod[l]*(-1);
}
else { Suma[i]=sp+sn; Mod[i]=0; }
ST+=Suma[i];
}
S_max=ST;
for(int i=1;i<=M;i++)
{
ST=0;
for(int j=1;j<=N;j++)
{
if(F[j][i]>=0)
{
ST+=Suma[j]-(2*F[j][i]);
Mod[j]=F[j][i];
}
else
{
ST+=Suma[j]+(-2)*F[j][i];
Mod[j]=F[j][i];
}
}
if(ST>S_max)
{
S_max=ST;
for(int l=1;l<=N;l++) { F[l][i]=(-1)*Mod[l]; Suma[l]+=F[l][i]; }
}
}g<<S_max;
return 0;
}