Pagini recente » Cod sursa (job #2722845) | Cod sursa (job #336005) | Cod sursa (job #1463235) | Cod sursa (job #880072) | Cod sursa (job #718933)
Cod sursa(job #718933)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("elimin.in");
ofstream g("elimin.out");
int s,nr,maxi,i,j,m,n,l,c,s1[1000],v[1000],a[1000][1000];
int main()
{f>>n>>m>>l>>c;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
f>>a[i][j];
maxi=0;
if(m<n)
{nr=0;
while(1)
{i=1;
while(v[i]==1)
v[i]=0,nr--,++i;
++nr;
v[i]=1;
if(i>m)
break;
if(nr==c)
{s=0;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
if(v[j]!=1)
s1[i]=s1[i]+a[i][j];
sort(s1+1,s1+n+1);
for(i=l+1;i<=n;++i)
s=s+s1[i];
if(s>maxi)
maxi=s;
for(i=1;i<=n;++i)
s1[i]=0;
}
}}
else
{nr=0;
while(1)
{i=1;
while(v[i]==1)
v[i]=0,nr--,++i;
++nr;
v[i]=1;
if(i>n)
break;
if(nr==l)
{s=0;
for(i=1;i<=m;++i)
for(j=1;j<=n;++j)
if(v[j]!=1)
s1[i]=s1[i]+a[j][i];
sort(s1+1,s1+n+1);
for(i=c+1;i<=m;++i)
s=s+s1[i];
if(s>maxi)
maxi=s;
for(i=1;i<=m;++i)
s1[i]=0;
}
}}
g<<maxi<<'\n';
f.close();
g.close();
return 0;
}