Cod sursa(job #499284)
Utilizator | Rus Gabriela Gabriela94 | Data | 9 noiembrie 2010 15:22:20 |
---|---|---|---|
Problema | Teren | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
using namespace std;
short int v,sp[301][301];
int main ()
{
int n,m,x,i,j,st,dr,s,max;
ifstream in("teren.in");
ofstream out("teren.out");
in>>n>>m>>x;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
in>>v;
sp[i][j]=sp[i][j-1]+v;
}
for (st=1;st<=m;st++)
for (dr=st;dr<=m;dr++)
{
s=0;
j=0;
for (i=1;i<=m;i++)
{
while (j<=n && s<=x)
{
j++;
s+=sp[j][dr]-sp[j][st-1];
}
if ((j-i)*(dr-st+1)>max)
max=(j-i)*(dr-st+1);
s-=sp[i][dr]-sp[i][st-1];
}
}
out<<max;
return 0;
}