Cod sursa(job #1950247)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 2 aprilie 2017 20:40:05
Problema Teren Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
using namespace std;
ifstream in("teren.in");
ofstream out("teren.out");
int n,m,p,s,arie,maxim,i,j,v[305][305],st,dr,i1,i2;
int main(){
    in>>n>>m>>p;
    for( i = 1; i <= n; i ++ ){
        for( j = 1; j <= m; j ++ ){
            in >> v[i][j];
        }
    }
    for( j = 1; j <= m; j ++ ){
        for( i = 1; i <= n; i ++ ){
            v[i][j] += v[i-1][j];
        }
    }
    for( i1 = 1; i1 <= n; i1 ++ ){
        for( i2 = i1; i2 <= n; i2 ++ ){
            for( st = 1,dr = 1; st <= m; st ++ ){
                s=v[i2][st]-v[i1-1][st];
                while( s <= p && dr <= m ){
                    dr++;
                    s+=v[i2][dr]-v[i1-1][dr];
                }
                arie=(i2-i1+1)*(dr-st-1);
                if(arie>maxim){
                    maxim=arie;
                }
            }
        }
    }

    out<<maxim;

    return 0;
}