Cod sursa(job #1913087)

Utilizator mirceaisherebina mircea mirceaishere Data 8 martie 2017 11:45:10
Problema Teren Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;

int n, m, x, i, j, k, s, p, a, maxim, v[302][302], i1, i2;

int main(){

    ifstream fin("teren.in");
    ofstream fout("teren.out");
    maxim=-1;
    fin>>n>>m>>x;
    for(i=1; i<=n; i++){
        for(j=1; j<=m; j++){
            fin>>k;
            v[i][j]=k+v[i-1][j];
        }
    }
    for(i1=1; i1<=n; i++){
        for(i2=i1; i2<=n; i2++){
            // setam liniile
            s=0;
            p=1;
            for(j=1; j<=m; j++){
                s=s+(v[i2][j]-v[i1-1][j]);
                // cu j adaugam coloane
                while(s>x){
                    s=s-(v[i2][p]-v[i1-1][p]);
                    p++;
                // iar cu p le scadem
                }
                a=(i2-i1+1)*(j-p+1);
                if(a>maxim)
                    maxim=a;
            }
        }
    }
    fout<<maxim;
}