Pagini recente » Cod sursa (job #22170) | Arhiva de probleme | Cod sursa (job #377592) | Arhiva de probleme | Cod sursa (job #2190340)
#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;
}
}