Pagini recente » Cod sursa (job #466519) | Cod sursa (job #1358588) | Cod sursa (job #2848054) | Cod sursa (job #1137633) | Cod sursa (job #1841325)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("elimin.in");
ofstream fout("elimin.out");
int n,m,r,c,N,M,u,k,mx,i,j,nr,s,ss;
int mk[20],t[20],a[20][7300];
//a[15][7294]
int main()
{
fin >> n >> m >> r >> c ;
M=m; N=n;
n=min(M,N); //<=15
m=max(M,N);
nr=(1<<n)-1;
for (i=1;i<=n;++i)
{
for (j=1;j<=m;++j)
{
fin >> a[i][j];
}
}
for (k=1;k<=nr;++k)
{
u=0;
for (i=1;i<=n;++i)
{
if (k>>(i-1) & 1)
{
++u;
}
ss=0;
if (u==r)
{
for (i=1;i<=n;++i)
{
if (k>>(i-1)&1)
{
mk[i]=k;
}
}
for (j=1;j<=m;++j)
{
s=0;
for (i=1;i<=n;++i)
if (mk[i]!=k)
s+=a[i][j];
t[j]=s;
}
sort (t+1,t+m+1);
for (j=m;j>=c+1;--j)
{
ss+=t[j];
}
if (ss>mx) mx=ss;
}
}
}
fout <<mx;
return 0;
}