Pagini recente » Profil PetcuIoan | TreiD | Diferente pentru problema/ecuatie intre reviziile 10 si 11 | Istoria paginii utilizator/meelthas | Cod sursa (job #2788891)
#include<bits/stdc++.h>
using namespace std;
ifstream F("elimin.in");
ofstream G("elimin.out");
int n,m,r,c,x[20][8005],s[8005],k,i,j,t,u;
int b(int n)
{
int c=0;
for(;n;n&=n-1,++c);
return c;
}
int main()
{
for(F>>n>>m>>r>>c;i<n;++i)
for(j=0;j<m;++j)
F>>(n<=m?x[i][j]:x[j][i]);
if(n>m)
swap(n,m),swap(r,c);
for(t=0;t<(1<<n);++t) {
if(b(t)!=r)
continue;
for(j=0;j<m;++j)
s[j]=0;
for(i=0;i<n;++i)
if(!((t>>i)&1))
for(j=0;j<m;++j)
s[j]+=x[i][j];
for(sort(s,s+m),u=0,j=c;j<m;++j)
u+=s[j];
k=max(k,u);
}
G<<k;
return 0;
}