Pagini recente » Cod sursa (job #1631379) | Cod sursa (job #2584232) | Cod sursa (job #1342892) | Cod sursa (job #1447979) | Cod sursa (job #1083544)
#include <cstdio>
#include <algorithm>
FILE *f,*g;
using namespace std;
int i,j,n,m,N,M,maxx,suma,s[600];
int ap[20],a[600][600];
void back (int k, int X)
{
if (k > m+1) return;
if (X == M)
{
int i,j;
for (i=1; i<=n; ++i)
{
s[i]=0;
for (j=1; j<=m; ++j)
{
if (ap[j]==0) s[i]+=a[i][j];
}
}
sort(s+1,s+n+1);
suma=0;
for (i=N+1; i<=n; ++i)
suma+=s[i];
if (suma>maxx)
maxx=suma;
}
else
{
ap[k]=1;
back(k+1,X+1);
ap[k]=0;
back(k+1,X);
}
}
int main ()
{
f=fopen("elimin.in","r");
g=fopen("elimin.out","w");
fscanf(f,"%d%d%d%d",&n,&m,&N,&M);
for (i=1; i<=n; ++i)
for (j=1; j<=m; ++j)
fscanf(f,"%d",&a[i][j]);
back(1,0);
fprintf(g,"%d",maxx);
fclose(f);
fclose(g);
return 0;
}