Pagini recente » Cod sursa (job #3361930) | Cod sursa (job #3361849) | Cod sursa (job #3362465)
#include <bits/stdc++.h>
using namespace std;
int v[100],sum[7300],a[100][7300];
int main(){
ifstream cin("elimin.in");
ofstream cout("elimin.out");
int n,m,i,j,k,r,c,nr,cnt,sol,ans,l;
cin >> n >> m >> r >> c;
if(n<=m){
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin >> a[i][j];
}
else{
for(j=n;j>=1;j--)
for(i=1;i<=m;i++)
cin >> a[i][j];
swap(n,m);
swap(r,c);
}
nr=(1<<n);
ans=0;
for(l=0;l<=nr;l++){
j=1;
while(v[j]==1&&j<=n){
v[j]=0;
j++;
}
v[j]=1;
cnt=0;
for(j=1;j<=n;j++)
if (v[j]==1)
cnt++;
if(cnt==r){
for(i=1;i<=m;i++)
sum[i]=0;
for(i=1;i<=n;i++)
if (v[i]==0)
for (j=1;j<=m;j++)
sum[j]+=a[i][j];
sort(sum+1,sum+m+1);
sol=0;
for(j=m;j>c;j--)
sol=sol+sum[j];
ans=max(ans,sol);
}
}
cout << ans;
return 0;
}