Cod sursa(job #1909597)

Utilizator MihneaGhiraMihnea MihneaGhira Data 7 martie 2017 13:14:43
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n,m,x,s,i,j,i1,i2,p,maxim;
int a[301][301];
int main(){
    fin>>n>>m>>x;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>a[i][j];
    for(j=1;j<=m;j++)
        for(i=1;i<=n;i++)
            a[i][j]+=a[i-1][j];
    for(i1=1;i1<=n;i1++){
        for(i2=i1;i2<=n;i2++){

            s=0;
            p=1;
            for(j=1;j<=m;j++){
                s+=(a[i2][j]-a[i1-1][j]);
                while(s>x){
                    s-=(a[i2][p]-a[i1-1][p]);
                    p++;
                }
                  if(maxim<(i2-i1+1)*(j-p+1))
                    maxim=(i2-i1+1)*(j-p+1);
            }
        }
    }
    fout<<maxim;
    return 0;
}