Cod sursa(job #2092219)
| Utilizator | Data | 21 decembrie 2017 12:55:11 | |
|---|---|---|---|
| Problema | Teren | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
using namespace std;
int s[301][301],sum[301];
int main()
{ int n,m,i,j,x,sol=0,k,p,st;
ifstream f("teren.in");
ofstream g("teren.out");
f>>n>>m>>k;
for (i=1;i<=n;++i)
for (j=1;j<=m;++j) {
f>>x;
s[i][j]=s[i-1][j]+x;
}
for (i=1;i<=n;++i)
for (j=i;j<=n;++j) {
st=1;
for (p=1;p<=m;++p) {
sum[p]=s[j][p]-s[i-1][p]+sum[p-1];
while (st<p && sum[p]-sum[st-1]>k)
++st;
if (sum[p]-sum[st-1]<=k) sol=max(sol,(j-i+1)*(p-st+1));
}
}
g<<sol;
return 0;
}
