Pagini recente » Cod sursa (job #2907612) | Cod sursa (job #1158536) | Cod sursa (job #2653745) | Cod sursa (job #361359) | Cod sursa (job #1547291)
#include <fstream>
#include <algorithm>
#define FOR(a,b,c) for(int a=b; a<=c; ++a)
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int n, m, v[50][550], x, y, X, a[550], maxim, st;
int biti(int x){
int nr=0;
while(x>0)
{
if(x&1==1)
nr++;
x>>=1;
}
return nr;
}
int main(){
f>>n>>m>>x>>y;
if(n>m)
{
X=n;
n=m;
m=X;
FOR(j,1,m)
FOR(i,1,n)
f>>v[i][j];
X=x;
x=y;
y=X;
}
else
FOR(i,1,n)
FOR(j,1,m)
f>>v[i][j];
X=(1<<n)-1;
FOR(num,0,X)
{
if(biti(num)==x)
{
st=0;
FOR(j,1,m)
a[j]=0;
FOR(i,1,n)
if( ( (num>>(i-1))&1 )==0 )
FOR(j,1,m)
a[j]+=v[i][j], st+=v[i][j];
sort(a+1, a+m+1);
FOR(j,1,y)
st-=a[j];
if(st>maxim)
maxim=st;
}
}
g<<maxim<<"\n";
return 0;
}