Pagini recente » Cod sursa (job #2135165) | Cod sursa (job #521247) | Cod sursa (job #1755179) | Cod sursa (job #2029619) | Cod sursa (job #992398)
Cod sursa(job #992398)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
short int m[20][550],i,j,n,l,c,k,lt,ct,v[21];
int sums[550],mini[550],sum,rasp;
int verif()
{
int sum=0;
for (int i=1;i<=l;++i)
for (int j=1;j<=c;++j)
if (!v[i])
{
sums[j]+=m[i][j];
}
else break;
sort (sums+1,sums+c+1);
/*for (int i=1;i<=c;++i)
g<<sums[i];*/
for (int i=c;i>ct;--i)
sum+=sums[i];
for (int i=1;i<=c;++i)
sums[i]=0;
return sum;
}
int main()
{
f>>l>>c>>lt>>ct;
/*if (c>l)
l^=c,c^=l,l^=c,lt^=ct,ct^=lt,lt^=ct;*/
if (l<=c)
for (i=1;i<=l;++i)
for (j=1;j<=c;++j)
f>>m[i][j];
else
{
for (i=1;i<=l;++i)
for (j=1;j<=c;++j)
f>>m[j][i];
l^=c,c^=l,l^=c,lt^=ct,ct^=lt,lt^=ct;
}
for (i=1;i<=lt;++i)v[i]=1;
do
{
sum=verif();
if (sum>rasp)
rasp=sum;
}while(prev_permutation(v+1,v+l+1));
g<<rasp;
return 0;
}