Pagini recente » Cod sursa (job #1266962) | Cod sursa (job #2781833) | Cod sursa (job #2322459) | Cod sursa (job #519172) | Cod sursa (job #609260)
Cod sursa(job #609260)
/* INEFICIENT TLE!!!
#include<iostream>
#include<fstream>
int a[301][301];
using namespace std;
int main(void)
{
int i,j,m,n,x,max=-1;
fstream f,g;
f.open("teren.in",ios::in);
g.open("teren.out",ios::out);
f>>n>>m>>x;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
f>>a[i][j];
for (i=2;i<=m;i++)
{
a[1][i]=a[1][i]+a[1][i-1];
}
for (i=2;i<=n;i++)
{
a[i][1]=a[i][1]+a[i-1][i];
}
for (i=2;i<=n;i++)
for (j=2;j<=m;j++)
a[i][j]=a[i][j]+a[i-1][j]+a[i][j-1]-a[i-1][j-1];
int k=0,aux,s,k1,st,dr,nr1,c1,c2;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(c1=1;c1<=m;c1++)
for(c2=c1;c2<=m;c2++)
{
nr1=a[j][c2]-a[j][c1-1]-a[i][c2-1]+a[i][c1-1];
if (nr1<=x && (j-i+1)*(c2-c1+1)>max)
{
max=(j-i+1)*(c2-c1+1);
// cout<<i<<" "<<j<<" "<<c1<<" "<<c2<<"\n";
}
}
g<<max;
}
*/
#include<iostream>
#include<fstream>
using namespace std;
int n,m,x,a[301][301],s[301][301],l[301],i,j,k,c,pam,in=1;
int main()
{
fstream f,g;
f.open("teren.in",ios::in);
g.open("teren.out",ios::out);
f>>n>>m>>x;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
s[i][j]=s[i-1][j]+a[i][j];
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
{
c=0;
in=1;
for(k=1;k<=m;k++)
l[k]=s[j][k]-s[i-1][k];
for(k=1;k<=m;k++)
{
c+=l[k];
while(in<=k&&c>x)
c-=l[in],in++;
if((j-i+1)*(k-in+1)>pam)
pam=(j-i+1)*(k-in+1) ;
}
}
g<<pam;
}