Pagini recente » Cod sursa (job #1678307) | Cod sursa (job #1693018) | Cod sursa (job #1283311) | Cod sursa (job #1382007) | Cod sursa (job #317327)
Cod sursa(job #317327)
#include<stdio.h>
long a[500][17],n,m,c[500],d[500];
long i,j,k,r,g,b,e,f;
int sum1(int j)
{int s=0;
for( k=1;k<=n;k++)
s+=a[k][j];
return s;
}
int sum2(int i)
{int s=0;
for( k=1;k<=m;k++)
s+=a[i][k];
return s;
}
int sum3()
{int s=0;
for( k=1;k<=n;k++)
s+=c[k];
return s;
}
int sum4()
{int s=0;
for( k=1;k<=m;k++)
s+=d[k];
return s;
}
void schimbare1(int j)
{for( k=1;k<=n;k++)
c[k]=a[k][j]*-1;
}
void schimbare2(int i)
{for( k=1;k<=m;k++)
d[k]=a[i][k]*-1;
}
void schimbare3(int j)
{for( k=1;k<=n;k++)
a[k][j]=c[k];
}
void schimbare4(int i)
{for( k=1;k<=m;k++)
a[i][k]=d[k];
}
int summax()
{int s=0;
for( i=1;i<=n;i++)
for( k=1;k<=m;k++)
s+=a[i][k];
return s;
}
void sumfin()
{
for(i=1;i<=n;i++)
for( j=1;j<=m;j++)
if(a[i][j])
{
g=sum1(j);
schimbare1(j);
b=sum3();
e=sum2(i);
schimbare2(i);
f=sum4();
if(b>g)
schimbare3(j);
if(f>e)
schimbare4(i);
}
}
int main()
{freopen("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for( i=1;i<=n;i++)
for( j=1;j<=m;j++)
scanf("%d",&a[i][j]);
sumfin();
r=summax();
sumfin();
k=summax();
if(k>r)
r=k;
printf("%d",r);
return 0;
}