Pagini recente » Istoria paginii runda/pregatire_oni_1 | Profil RolandPetrean | Istoria paginii utilizator/cponofrei | Istoria paginii utilizator/tallianfranciska | Cod sursa (job #2706087)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n, m, x, mat[305][305], v[305], sum[305];
int main(){
fin >> n >> m >> x;
for (int i = 1; i <= n; ++i){
for (int j = 1; j <= m; ++j){
fin >> mat[i][j];
}
}
int maxim = 0;
for (int i = 1; i <= n; ++i){
for (int i2 = i; i2 <= n; ++i2){
int st = 0;
for (int j = 1; j <= m; ++j){
if (i == i2){
v[j] = 0;
}
v[j] += mat[i2][j];
sum[j] = sum[j - 1] + v[j];
while (st < j && sum[j] - sum[st] > x) ++st;
maxim = max(maxim, (i2 - i + 1) * (j - st));
}
}
}
fout << maxim;
fin.close();
fout.close();
return 0;
}