Cod sursa(job #895094)
| Utilizator | Data | 27 februarie 2013 09:50:50 | |
|---|---|---|---|
| Problema | Teren | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.79 kb |
#include <fstream>
using namespace std;
ifstream fin ("teren.in");
ofstream fout ("teren.out");
int a[310][310];
int n,m,x,p,u,s,maxim,tot,i,j,c;
int main () {
fin>>n>>m>>x;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++) {
fin>>c;
a[i][j]=a[i-1][j]+c;
}
for (i=1;i<=n;i++)
for (j=i;j<=n;j++) {
u = 1;s=0;p=1;
while (u<=n) {
s+=a[j][u]-a[i-1][u];
while (s>x) {
p++;
s-=(a[j][p-1]-a[i-1][p-1]);
}
tot=(u-p+1)*(j-i+1);
if (tot>maxim)
maxim=tot;
u++;
}
}
fout << maxim <<"\n";
return 0;
}
