Pagini recente » Cod sursa (job #1500884) | Cod sursa (job #1901396) | Cod sursa (job #927094) | Cod sursa (job #3292121) | Cod sursa (job #2202139)
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMAX 101
using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
int a[NMAX][NMAX],BestSol,N,M,R,C,viz[NMAX],x[NMAX];
void suma()
{
int viz[101]={0},l[101]={0};
long long s=0;
for(int i =1; i <= C; i++)
viz[x[i]]=1;
for(int i =1 ; i <= N; i++)
for(int j =1 ;j <= M; j++)
if(!viz[j]) l[i]+=a[i][j];
sort(l+1,l+N+1);
for(int i = R+1; i <= N; i++)
s+=l[i];
if(s>BestSol)
BestSol=s;
}
void answer(int k)
{
for(int i = x[k-1] + 1 ; i <= M; i++)
{
x[k]=i;
if(k==C)
suma();
else
answer(k+1);
}
}
int main()
{
fin>>N>>M>>R>>C;
for(int i = 1; i <= N; i++)
for(int j =1 ; j <= M; j++)
fin>>a[i][j];
answer(1);
fout<<BestSol;
return 0;
}