Pagini recente » Cod sursa (job #2549834) | Cod sursa (job #604423) | Cod sursa (job #1555534) | Cod sursa (job #133416) | Cod sursa (job #2255538)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int i,j,x,y,R,C,n,m,a[3650][16],v[3650],maxi,nr,k,S;
bool sub[16];
int main()
{ f>>n>>m>>R>>C;
if(m<=n){
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[j][i];
swap(n,m);swap(R,C);
}
else{
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
}
maxi=0;
for(i=0;i<=(1<<m)-1;i++){
memset(sub,0,sizeof(sub));
k=0;
for(j=1;j<m;j++){
if(((i>>j)&1)==1){
sub[j+1]++;
k++;
}
}
if(k==C){
for(x=1;x<=n;x++){
S=0;
for(y=1;y<=m;y++){
S+=a[x][y]*(1-sub[y]);
}
v[x]=S;
}
sort(v+1,v+n+1);
nr=0;
for(x=R+1;x<=n;x++)
nr+=v[x];
if(maxi<nr)
maxi=nr;
}
}
g<<maxi;
return 0;
}