Pagini recente » Cod sursa (job #1624227) | Cod sursa (job #820042) | Cod sursa (job #1497775) | Cod sursa (job #2352616) | Cod sursa (job #1926815)
#include <cstdio>
#include <algorithm>
#define limita 7500
using namespace std;
int n,m,r,c,N,M,u,k,mx,i,j,nr,s,ss;
int mk[limita],t[limita],a[20][limita];
int main()
{
freopen("elimin.in","r",stdin);
freopen("elimin.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&r,&c);
if (n>m)
{
for (j=1;j<=n;++j)
for (i=1;i<=m;++i)
scanf("%d",&a[i][j]);
swap (n,m);
swap (r,c);
}
else
{
for (i=1;i<=n;++i)
for (j=1;j<=m;++j)
scanf("%d",&a[i][j]);
}
nr=(1<<n)-1;
for (k=0;k<=nr;++k)
{
u=0;
for (i=1;i<=n;++i)
u+=((k&(1<<i))!=0);
ss=0;
if (u==r)
{
for (i=1;i<=n;++i)
if ((k&(1<<(i-1)))==0)
for (j=1;j<=m;++j)
t[j]+=a[i][j];
sort (t+1,t+m+1);
for (j=m;j>=c+1;--j)
{
ss+=t[j];
t[j]=0;
}
for (j=c;j>1;--j)
t[j]=0;
if (ss>mx)
mx=ss;
}
}
printf("%d",mx);
return 0;
}