Cod sursa(job #1593942)

Utilizator adiXMGemene Adrian adiXM Data 9 februarie 2016 00:20:33
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
using namespace std;
const int NMAX=305;
int n,m,x,s[NMAX][NMAX],a[NMAX],sol;
int main()
{
    int val;
    ifstream f("teren.in");
    ofstream g("teren.out");
    f>>n>>m>>x;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            f>>val;
            s[i][j]=s[i-1][j]+val;
        }
    for(int line=1;line<=n;line++)
    {
        for(int line1=line;line1<=n;line1++)
        {
            for(int i=1;i<=m;i++)
                a[i]=s[line1][i]-s[line-1][i];
            int i=1,sum=0;
            for(int j=1;j<=m;j++)
            {
                sum+=a[j];
                while(sum>x)
                {
                    sum-=a[i];
                    i++;
                }
                sol=max(sol,(j-i+1)*(line1-line+1));
            }
        }
    }
    g<<sol<<"\n";
    return 0;
}