Pagini recente » Cod sursa (job #1885396) | Cod sursa (job #2126006) | Cod sursa (job #1885814) | Cod sursa (job #2341552) | Cod sursa (job #1942372)
#include <bits/stdc++.h>
using namespace std;
ifstream in("elimin.in"); ofstream out("elimin.out");
int v[15],m,n,r,a[7300][15],suma_i[7300];
int suma_maxima=INT_MIN;
void bkt(int k,int c)
{
if(!c)
{ int suma=0;
for (int i=1;i <=m;++i) { suma_i[i]=0;
for(int j=1;j <=n;++j) if (!v[j]) suma_i[i]+=a[i][j];
suma+=suma_i [i];
}
sort(suma_i+1,suma_i+m+1);
for (int i=1;i <=r;++i) suma-=suma_i[i];
suma_maxima=max(suma_maxima,suma);
}
else
if(k<=n)
{
v[k]=1;
bkt(k+1,c-1);
v[k]=0;
bkt(k+1,c);
}
}
int main (){int c;
in>>m>>n>>r>>c;
if (n <=m){
for(int i=1;i <=m;++i)
for(int j=1;j <=n;++j) cin>>a[i][j];
} else {
for(int i=1;i <=m;++i)
for(int j=1;j <=n;++j) cin>>a[j][i];
swap (m,n);swap (r,c);
}
bkt (1,c);
out<<suma_maxima; in.close(); out.close();
return 0;
}