Pagini recente » Monitorul de evaluare | Cod sursa (job #1188840) | Cod sursa (job #2279340) | Cod sursa (job #2451556) | Cod sursa (job #1033864)
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
const int nmax= 300;
int d[nmax+1][nmax+1];
int main( ) {
int n, m, x;
fin>>n>>m>>x;
for ( int i= 1; i<=n; ++i ) {
for ( int j= 1; j<=m; ++j ) {
fin>>d[i][j];
d[i][j]+= d[i-1][j];
}
}
int sol= 0;
for ( int i= 1; i<=n; ++i ) {
for ( int j= i; j<=n; ++j ) {
int l= 1, sum= 0;
for ( int k= 1; k<=m; ++k ) {
for ( ; l<=m && sum+d[j][l]-d[i-1][l]<=x; ++l ) {
sum+= d[j][l]-d[i-1][l];
}
if ( (l-k)*(j-i+1)>sol ) {
sol= (l-k)*(j-i+1);
}
sum-= d[j][k]-d[i-1][k];
}
}
}
fout<<sol<<"\n";
return 0;
}