Pagini recente » Cod sursa (job #2525773) | Cod sursa (job #318462) | Cod sursa (job #1109207) | Cod sursa (job #477915) | Cod sursa (job #787373)
Cod sursa(job #787373)
#include<fstream>
#include<cmath>
using namespace std;
int n,m,X,sol;
int nrC[255][255],v[255];
//nrC[i][j]=numarul de 1 de pe coloana j pe portiunea dintre liniile 1 si i
int main()
{
int i,j,k,nr,val,st,dr;
ifstream fin("teren.in");
fin>>n>>m>>X;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fin>>val;
nrC[i][j]=nrC[i-1][j]+val;
}
}
fin.close();
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j++)
{
for(k=1;k<=m;k++)
v[k]=nrC[j][k]-nrC[i-1][k];
st=1;
dr=0;
nr=0;
while(dr<=m)
{
dr++;
nr+=v[dr];
if(nr<=X)
sol=max(sol,(dr-st+1)*(j-i+1));
else
{
while(nr>X)
{
nr-=v[st];
st++;
}
}
}
}
}
ofstream fout("teren.out");
fout<<sol<<"\n";
fout.close();
return 0;
}