Pagini recente » Cod sursa (job #1998328) | Cod sursa (job #210792) | Cod sursa (job #1129085) | Cod sursa (job #156058) | Cod sursa (job #1748969)
#include <bits/stdc++.h>
#define maxN 7300
using namespace std;
int s[maxN][20],sum[maxN],x[maxN];
int n,m,r,c,i,j,sol;
void solve()
{
int i;
for(i=1;i<=n;i++)
sum[i]=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
sum[i]+=s[i][j];
for(j=1;j<=c;j++)
sum[i]-=s[i][x[j]];
}
sort(sum+1,sum+n+1);
int S=0;
for(i=r+1;i<=n;i++)
S+=sum[i];
sol=max(sol,S);
}
void bkt(int k)
{
if(k==c+1)
{
solve();
return;
}
for(int i=x[k-1]+1;i<=m;i++)
x[k]=i,bkt(k+1);
}
int main()
{
freopen("elimin.in","r",stdin);
freopen("elimin.out","w",stdout);
scanf("%d %d %d %d",&n,&m,&r,&c);
if(m>n) swap(n,m),swap(r,c);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d ",&s[i][j]);
bkt(1);
printf("%d",sol);
return 0;
}