Pagini recente » Atasamentele paginii Profil Zh19 | Borderou de evaluare (job #3364493) | Autentificare | Cod sursa (job #3365286) | Cod sursa (job #3365804)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("elimin.in");
ofstream cout("elimin.out");
int mat[100][7300];
int v[100],s[7300];
int main()
{
int n,m,r,c,cnt,rez,maxr=0,ci;
cin>>n>>m>>r>>c;
if(n<=m){
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>mat[i][j];
}
else{
for(int j=n;j>=1;j--)
for(int i=1;i<=m;i++)
cin>>mat[i][j];
swap(n,m);
swap(r,c);
}
for(int i=0;i<(1<<n);i++){
cnt=0;
rez=0;
ci=i;
for(int j=1;j<=n;j++)
v[j]=0;
for(int j=1;j<=n;j++){
v[j]=ci%2;
ci=ci/2;
if(v[j]==1)
cnt++;
}
if(cnt==r){
for(int j=1;j<=m;j++)
s[j]=0;
for(int j=1;j<=n;j++)
if(v[j]==0)
for(int y=1;y<=m;y++)
s[y]+=mat[j][y];
sort(s+1,s+m+1);
rez=0;
for(int j=m;j>c;j--)
rez+=s[j];
if(maxr<rez)
maxr=rez;
}
}
cout<<maxr;
return 0;
}