Pagini recente » Cod sursa (job #2372674) | Cod sursa (job #1070912) | Cod sursa (job #1284226) | Cod sursa (job #1275784) | Cod sursa (job #677740)
Cod sursa(job #677740)
#include <fstream>
#include <queue>
using namespace std;
int n,m,x,A[301][301],S[301][301];
int i,j,rez;
int l1,l2,suma,nre,a,v;
ifstream fi("teren.in");
ofstream fo("teren.out");
queue <int> Q;
int main()
{
fi>>n>>m>>x;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{
fi>>A[i][j];
S[i][j]=S[i-1][j]+A[i][j];
}
rez=0;
for (l1=1;l1<=n;l1++)
for (l2=l1;l2<=n;l2++)
{
while (!Q.empty())
Q.pop();
nre=suma=0;
for (i=1;i<=m;i++)
{
v=S[l2][i]-S[l1-1][i];
Q.push(v);
nre++;
suma=suma+v;
while (suma>x)
{
a=Q.front();
Q.pop();
suma=suma-a;
nre--;
}
if (nre*(l2-l1+1)>rez)
rez=nre*(l2-l1+1);
}
}
fo<<rez<<"\n";
fi.close();
fo.close();
return 0;
}