Pagini recente » Cod sursa (job #1324292) | Cod sursa (job #1095421) | Cod sursa (job #731902) | Cod sursa (job #2978408) | Cod sursa (job #1312227)
#include <fstream>
#include <cstring>
#include <algorithm>
#define DIM 1000
using namespace std;
ifstream fin("elimin.in");
ofstream fout("elimin.out");
int D[DIM][20],N,M,R,C,s[DIM],maxim;
bool b[30];
int main(){
fin>>N>>M>>R>>C;
if(M>N){
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
fin>>D[j][i];
swap(N,M);
swap(R,C);
}
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
fin>>D[i][j];
for(int k=0;k<(1<<M);k++){
int nr=0,mask=k;
for(int j=0;j<M;j++)
if(k&(1<<j))
nr++;
if(nr==C)
{
for(int i=0;i<N;i++){
s[i]=0;
for(int j=0;j<M;j++)
if(!(k&(1<<j)))
s[i]+=D[i][j];
}
sort(s,s+N);
int sum=0;
for(int j=R;j<N;j++)
sum+=s[j];
if(sum>maxim)
maxim=sum;
}
}
fout<<maxim;
fin.close();fout.close();
return 0;
}