Pagini recente » Statistici Fetitele Powerpuff (fetitele_powerpuff) | Cod sursa (job #2852056) | Cod sursa (job #855810) | Cod sursa (job #1385576) | Cod sursa (job #2864543)
#include <bits/stdc++.h>
using namespace std;
ifstream r("elimin.in");
ofstream w("elimin.out");
int n, m, R, C, keep[53];
long long a[53][7303], col[7303], ans;
void check()
{
for (int i = 1; i <= m; i++){
col[i] = 0;
}
for (int i = 1; i <= R; i++)
{
for (int j = 1; j <= m; j++){
col[j] += a[keep[i]][j];
}
}
sort(col+1, col+m+1);
long long s = 0;
for (int i = m-C+1; i <= m; i++){
s += col[i];
}
ans = max(ans, s);
}
void bkt(int step)
{
if (step == R+1)
{
check();
return;
}
for (int i = keep[step-1]+1; i <= n-(R-step); i++)
{
keep[step] = i;
bkt(step+1);
}
}
int main()
{
r>>n>>m>>R>>C;
R=n-R;
C=m-C;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(n<=m)
{
r >> a[i][j];
}
else
{
r >> a[j][i];
}
}
}
if (n > m)
{
swap(n, m);
swap(R, C);
}
bkt(1);
w<<ans;
return 0;
}