Pagini recente » Cod sursa (job #107652) | Cod sursa (job #1547627) | Cod sursa (job #746097) | Cod sursa (job #1334575) | Cod sursa (job #1466183)
#include<fstream>
using namespace std;
ifstream f("teren.in"); ofstream g("teren.out");
int n,m,x,is,ij,j,sum,maxim,p,t,C[302][302];
char A[302][302];
int main()
{ f>>n>>m>>x;
for(int i=1;i<=n;i++)
for(j=1;j<=m;j++)
{ f>>t; A[i][j]=t;
C[i][j]=C[i-1][j]+A[i][j];
}
for(is=1;is<=n;is++)
for(ij=is;ij<=n;ij++)
{ sum=0; p=1;// caut dreptunghiuri convenabile cu linia de sus fixata pe is si cea de jos fixata pe ij
for(j=1;j<=m;j++)
{ sum +=(C[ij][j]-C[is-1][j]);
while(sum>x) {sum-=(C[ij][p]-C[is-1][p]); p++;}
if(p<=j && (ij-is+1)*(j-p+1)> maxim) maxim=(ij-is+1)*(j-p+1);
}
}
g<<maxim<<'\n'; g.close(); return 0;
}