Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Istoria paginii utilizator/fnzbz | Istoria paginii utilizator/alexdudescu | Cod sursa (job #1963553)
#include<bits/stdc++.h>
using namespace std;
ifstream f("teren.in");
ofstream g("teren.out");
int n,m,k;
int a[502][502];
int main()
{
f>>n>>m>>k;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j){
f>>a[i][j];
a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
}
int sol=0;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
{
int st=1;
int dr=1;
while(dr<=m)
{
while(a[j][dr]-a[j][st-1]-a[i-1][dr]+a[i-1][st-1]<=k && dr<=m){
sol=max(sol,(j-i+1)*(dr-st+1));
++dr;
}
while(a[j][dr]-a[j][st-1]-a[i-1][dr]+a[i-1][st-1]>k && dr<=m)
++st;
}
}
g<<sol<<'\n';
return 0;
}