Cod sursa(job #2324666)
Utilizator | Mihai Teisanu teisanumihai84 | Data | 21 ianuarie 2019 12:13:32 |
---|---|---|---|
Problema | Teren | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.82 kb |
#include <fstream>
using namespace std;
int s[301][301], i, j, k, n, m, x, nr, amax, st, dr, suma;
int main ()
{
ifstream fin ("teren.in");
ofstream fout ("teren.out");
fin>>n>>m>>x;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
fin>>nr;
s[i][j]=s[i-1][j]+nr;
}
for (i=1; i<=n; i++)
for (j=i; j<=n; j++)
{
suma=0;
st=1;
for (dr=1; dr<=m; dr++)
{
suma+=s[j][dr]-s[i-1][dr];
while (suma>x && st<=dr)
{
suma=suma-s[j][st]+s[i-1][st];
st++;
}
if ((j-i+1)*(dr-st+1)>amax)
amax=(j-i+1)*(dr-st+1);
}
}
fout<<amax;
}