Pagini recente » Cod sursa (job #1608277) | Cod sursa (job #2988804) | Cod sursa (job #463490) | Cod sursa (job #1251857) | Cod sursa (job #2190339)
#include <fstream>
using namespace std;
int a[310][310], s[310][310];
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>>a[i][j];
s[i][j] = s[i-1][j] + a[i][j];
}
}
for (i1=1;i1<=n;i1++)
for (i2=i1;i2<=n;i2++) {
/// am fixat 2 linii si incerc sa caut
/// dreptunghiuri cu liniile comune cu acestea
suma = 0;
st = 1;
for (dr=1;dr <= m;dr++)
suma += s[i2][dr] - s[i1-1][dr];
while (suma > x) {
suma -= s[i2][st] - s[i1-1][st];
st++;
}
aria = (i2-i1+1) * (dr-st+1);
if (aria > maxim)
maxim = aria;
}
}