Cod sursa(job #719498)

Utilizator misinoonisim necula misino Data 21 martie 2012 20:44:02
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#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[700][700];
int pc(int k)
{if()
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;
}