Pagini recente » Cod sursa (job #1105380) | Cod sursa (job #375067)
Cod sursa(job #375067)
#include <fstream>
using namespace std;
#define MAX_N 305
ifstream fin ("teren.in");
ofstream fout ("teren.out");
int N, M, X, A[MAX_N][MAX_N], S[MAX_N], Sol;
void citire()
{
fin >> N >> M >> X;
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= M; ++j)
{
fin >> A[i][j];
A[i][j] += A[i-1][j];
}
}
void solve()
{
for(int i = 1; i <= N; ++i)
for(int j = i; j <= N; ++j)
{
for(int k = 1; k <= M; ++k)
S[k] = A[j][k] - A[i-1][k];
int sum = 0;
for(int st = 1, dr = 1; st <= M; ++st)
{
if(S[st] > X)
{
sum = 0;
dr = st+1;
continue;
}
sum += S[st];
while(sum > X)
sum -= S[dr++];
if((st-dr+1)*(j-i+1) > Sol)
Sol = (st-dr+1)*(j-i+1);
}
}
fout << Sol << "\n";
}
int main()
{
citire();
solve();
}