Pagini recente » Cod sursa (job #1782983) | Cod sursa (job #2080709) | Cod sursa (job #2829755) | Cod sursa (job #2460745) | Cod sursa (job #418739)
Cod sursa(job #418739)
#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++;nr=nr-v[j][st-1]+v[i-1][st-1];
if(st<dr){
dr--;}
nr=0;
}
if((j-i+1)*(dr-st)>max)
max=(j-i+1)*(dr-st);
}
fprintf(g,"%d",max);
return 0;
}