Cod sursa(job #1704905)

Utilizator popabogdanPopa Bogdan Ioan popabogdan Data 19 mai 2016 16:11:32
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
typedef int matrice[301][301];
matrice a;
int n,m,x,i,j,i2,j2,sol;
int sum(int x1, int y1, int x2, int y2)
{
    return a[x2][y2]-a[x1-1][y2]-a[x2][y1-1]+a[x1-1][y1-1];
}
int main()
{
    fin>>n>>m>>x;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)fin>>a[i][j],a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
    for(i=1;i<=n;i++)
        for(i2=i;i2<=n;i2++)
            for(j2=1,j=1;j2<=m;j++,j2++)
        {
            while(j>1 && sum(i,j,i2,j2)<=x)j--;
            while(j<j2 && sum(i,j,i2,j2)>x)j++;
            if(sum(i,j,i2,j2)<=x)
                sol=max(sol,(i2-i+1)*(j2-j+1));
        }
    fout<<sol<<"\n";
    return 0;
}