Cod sursa(job #2354188)

Utilizator MihneaGhiraMihnea MihneaGhira Data 24 februarie 2019 23:25:10
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
int n,m,x,maxim;
int a[301][301];
int main(){
    fin>>n>>m>>x;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>a[i][j];
    for(int j=1;j<=m;j++)
        for(int i=1;i<=n;i++)
            a[i][j]+=a[i-1][j];

    for(int i1=1;i1<=n;i1++){
        for(int i2=i1;i2<=n;i2++){
            int s=0;
            int p=1;
            for(int 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;
}