Pagini recente » Cod sursa (job #2348357) | Cod sursa (job #3220582) | Cod sursa (job #230210) | Cod sursa (job #3260542) | Cod sursa (job #1067561)
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,m,r,c,A[21][7300],i,j,Sum[7300],cnt,SOL,viz[7300];
void Bkt(int,int);
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(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&A[i][j]);
}
else
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)scanf("%d",&A[j][i]);
swap(n,m);swap(r,c);
}
Bkt(0,0);
printf("%d\n",SOL);
}
void Bkt(int X,int nr)
{
if(nr==r)
{
memset(Sum,0,sizeof(Sum));
for(int i=1;i<=n;i++)
{
if(!viz[i])
for(int j=1;j<=m;j++)
Sum[j]+=A[i][j];
}
sort(Sum+1,Sum+m+1);
cnt=0;
for(int i=c+1;i<=m;i++)
cnt+=Sum[i];
SOL=max(SOL,cnt);
}
else
for(int i=X+1;i<=n;i++)
{
viz[i]=1;
Bkt(i,nr+1);
viz[i]=0;
}
}