Pagini recente » Cod sursa (job #1171210) | Cod sursa (job #1347479) | Cod sursa (job #2967003) | Cod sursa (job #1975845) | Cod sursa (job #2259219)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
int a[3651][17];
int sub[3651];
int n,m,col,lin,i,j,smax,k,p,q;
bool fr[16];
int main()
{
fin>>n>>m>>lin>>col;
if(m>n)
{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[j][i];
swap(m,n);
swap(col,lin);
}
else
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
for(i=0;i<(1<<m);i++)
{
memset(fr,0,sizeof(fr));
k=0;
for(j=0;j<m;j++)
{
if(((i>>j)&1)==1)
fr[j+1]=1,k++;
}
if(k==col)
{
for(p=1;p<=n;p++)
{
sub[p]=0;
for(q=1;q<=m;q++)
{
if(fr[q]!=1)
sub[p]+=a[p][q];
}
}
sort(sub+1,sub+n+1);
int s=0;
for(j=lin+1;j<=n;j++)
s+=sub[j];
smax=max(s,smax);
}
}
fout<<smax;
return 0;
}