Cod sursa(job #1669002)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 30 martie 2016 11:35:28
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("teren.in");
ofstream g("teren.out");
bool a[304][304];
int v[304];
int main()
{
    int n,m,max1;
    f>>n>>m>>max1;
    int aa;
    for(int i=1;i<=n;++i)
      for(int j=1;j<=m;++j)
        f>>a[i][j];
    int fin=0;
    for(int l1=1;l1<=n;++l1)
    {
        memset(v,0,sizeof(v));
        for(int l2=l1;l2<=n;++l2)
        {
            int sum=0;
            int st=1;
            for(int dr=1;dr<=m;++dr)
            {
                v[dr]+=(int)a[l2][dr];
                sum+=v[dr];
                while(sum>max1&&st<=dr)
                {
                    sum-=v[st];
                    ++st;
                }
                fin=max(fin,(dr-st+1)*(l2-l1+1));
            }
        }
    }
    g<<fin;
    return 0;
}