Pagini recente » Cod sursa (job #713979) | Cod sursa (job #1176585) | Cod sursa (job #191645) | Monitorul de evaluare | Cod sursa (job #2008972)
#include<bits/stdc++.h>
using namespace std;
int n,m,x,val,total,start;
int sum[305][305];
int best;
inline int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
freopen("teren.in","r",stdin);
freopen("teren.out","w",stdout);
scanf("%d%d%d",&n,&m,&x);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
scanf("%d",&val);
sum[i][j]=sum[i-1][j]+val;
}
}
for(int l1=1;l1<=n;l1++)
{
for(int l2=l1;l2<=n;l2++)
{
start=1;
total=0;
for(int i=1;i<=m;i++)
{
total=total+sum[l2][i]-sum[l1-1][i];
while(start<=i && total>x)
{
total-=(sum[l2][start]-sum[l1-1][start]);
start++;
}
if(total<=x)
{
best=max(best,(l2-l1+1)*(i-start+1));
}
}
}
}
printf("%d\n",best);
return 0;
}