Pagini recente » Cod sursa (job #1731584) | Cod sursa (job #1033355) | Cod sursa (job #1481056) | Cod sursa (job #1640080) | Cod sursa (job #418721)
Cod sursa(job #418721)
#include <stdio.h>
int nr,n,m,x,max,v[301][301],i,j,dr,st,ok;
int main() {
FILE *f=fopen("teren.in","r");
FILE *g=fopen("teren.out","w");
fscanf(f,"%d%d%d",&n,&m,&x);
ok=1;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++){
fscanf(f,"%d",&v[i][j]);
if(v[i][j]==0)
ok=0;
v[i][j]=v[i][j]+v[i-1][j];
}
if(ok==1) {
fprintf(g,"%d",x);
return 0;
}
for(i=1;i<=n;i++)
for(j=i;j<=n;j++) {
st=1;
dr=1;
nr=0;
for(dr=1;dr<=m&&st<=m;dr++)
if(nr+v[j][dr]-v[i-1][dr]<=x)
nr=nr+v[j][dr]-v[i-1][dr];
else {
if(max<(j-i+1)*(dr-st))
max=(j-i+1)*(dr-st);
st++;
if(st<dr){
dr--;}
nr=0;
}
if((j-i+1)*(dr-st)>max)
max=(j-i+1)*(dr-st);
}
fprintf(g,"%d",max-1);
return 0;
}