Cod sursa(job #1591196)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 5 februarie 2016 21:17:59
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n,m,x,i,j,s[305][305],mx,t,k;
bool a[305][305];
int main()
{fin>>n>>m>>x;
 for(i=1;i<=n;i++)
    {for(j=1;j<=m;j++)
        {fin>>a[i][j];
        }
    }
 for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
       {if(a[i][j]==1)s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+1;
          else s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1];
        for(t=0;t<=i-1;t++)
           {for(k=0;k<=j-1;k++)
               {if((i-t)*(j-k)<=mx&&k==0){t=i;break;}
                else if((i-t)*(j-k)<=mx) k=j;
                else if((s[i][j]+s[t][k]-s[t][j]-s[i][k]<=x)&&(mx<(i-t)*(j-k)))mx=(i-t)*(j-k);

               }
           }
       }
 fout<<mx;
}