Pagini recente » Cod sursa (job #671629) | Cod sursa (job #1757252) | Cod sursa (job #516472) | Cod sursa (job #1368528) | Cod sursa (job #147753)
Cod sursa(job #147753)
#include<stdio.h>
int max,max1,st,dr,ki,ok,s,ii,jj,n,m,x,i,j,a[301][301];
int main(){
FILE *f=fopen("teren.in","r");
fscanf(f,"%d %d %d",&n,&m,&x);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%d",&a[i][j]);
}
}
fclose(f);
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
a[0][j]=0;
}
for(ii=i;ii<=n;ii++){
ki=0;
ok=1;
for(j=1;j<=m;j++){
a[0][j]+=a[ii][j];
}
max1=0;
s=0;
//for(j=1;j<=m;j++){
st=1;
dr=0;
while(dr<m){
if(s>x){
if(max1<dr-st){
max1=dr-st;
}
s-=a[0][st];
st++;
}
else{
dr++;
s+=a[0][dr];
}
}
if(s<=x&&max1<dr-st+1)max1=dr-st+1;
// }
s=max1*(ii-i+1);
if(s>max)max=s;
/*for(j=1;j<=m;j++){
ki=0;
ok=1;
for(jj=j;jj<=m;jj++){
ki+=a[0][jj];
if(ki>x&&ok){
s=(ii-i+1)*(jj-j+1-1);
if(s>max)max=s;
ok=0;
break;
}
if(jj==m&&ki<=x){
s=(ii-i+1)*(jj-j+1);
if(s>max)max=s;
}
}
}*/
}
}
FILE *g=fopen("teren.out","w");
fprintf(g,"%d",max);
fclose(g);
return 0;
}