Cod sursa(job #1289032)
| Utilizator | Data | 9 decembrie 2014 13:27:38 | |
|---|---|---|---|
| Problema | Teren | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.96 kb |
#include <stdio.h>
int n,m,x;
int a[301][301];
int main()
{
FILE *fin,*fout;
fin=fopen("teren.in","r");
fout=fopen("teren.out","w");
fscanf(fin,"%d %d %d",&n,&m,&x);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) fscanf(fin,"%d",&a[i][j]);
}
int max=0;
for(int i=2;i<=m;i++)
{
a[1][i]+=a[1][i-1];
}
for(int i=2;i<=n;i++)
{
for(int j=2;j<=m;j++)
{
a[i][j]=a[i-1][j]+a[i][j-1];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
for(int k=j;k<=m;k++)
{
if(a[i][k]-a[i][j-1]<=x)
{
if(max<i*(k-j+1)) max=i*(k-j+1);
}
}
}
}
fprintf(fout,"%d ",max);
}
