Cod sursa(job #2557848)

Utilizator As932Stanciu Andreea As932 Data 26 februarie 2020 08:45:20
Problema Teren Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#define nmax 302
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");

int n,m,x;
int a[nmax][nmax],sum[nmax][nmax];
int vsum[nmax];
int ans;

int main()
{
    fin>>n>>m>>x;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>a[i][j];

    for(int j=1;j<=m;j++)
        for(int i=1;i<=n;i++)
            sum[i][j]=sum[i-1][j]+a[i][j];

    for(int l1=1;l1<=n;l1++)
        for(int l2=l1;l2<=n;l2++)
        {
            int st=1;
            int val=0;
            for(int j=1;j<=m;j++)
            {
                vsum[j]=sum[l2][j]-sum[l1-1][j];
                vsum[j]+=vsum[j-1];
                val=vsum[j];
                while(val>x)
                {
                    val-=vsum[st];
                    st++;
                }
                int l=l2-l1+1;
                int c=j-st+1;
                ans=max(ans,c*l);
            }
        }

    fout<<ans;

    return 0;
}