Pagini recente » Monitorul de evaluare | Cod sursa (job #1958088) | Cod sursa (job #1736123) | Diferente pentru problema/doipe intre reviziile 12 si 11 | Cod sursa (job #1125492)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f=fopen ("teren.in","r");
FILE *g=fopen ("teren.out","w");
bool v[305][305];
int ind[305][305],s[305][305];
int main(){
int n,m,x,sol=-1;
fscanf (f,"%d%d%d",&n,&m,&x);
for (int i=1;i<=n;++i){
for (int j=1;j<=m;++j){
fscanf (f,"%d",&v[i][j]);
s[i][j]=v[i][j]+s[i-1][j];
}
}
for(int i=1;i<=n;++i){
for(int k=i;k<=n;++k){
int begin=1,sum=0;
for(int j=1;j<=m;++j){
sum+=s[k][j]-s[i-1][j];
while(sum>x){
sum-=s[k][begin]-s[i-1][begin];
++begin;
}
sol=max(sol,(j-begin+1)*(k-i+1));
}
}
}
fprintf (g,"%d",sol);
return 0;
}