Cod sursa(job #2723705)

Utilizator Linca_AmaliaLinca Mihaela Amalia Linca_Amalia Data 15 martie 2021 12:50:40
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream fin( "teren.in" );
ofstream fout( "teren.out" );
int v[302][302], sp[302][302];
int n, m, i, j, k1, k2, x, s, maxim, p;
int main() {
    fin >> n >> m >> x;
    for ( i = 1; i <= n; i++ )
        for ( j = 1; j <= m; j++ ){
            fin >> v[i][j];
            sp[i][j] = sp[i-1][j] + v[i][j];
        }
    for ( k1 = 1; k1 <= n; k1++ )
        for( k2 = k1; k2 <= n; k2++ ){
            s = 0;
            p = 1;
            for ( i = 1; i <= m; i++ ){
                s += ( sp[k2][i] - sp[k1-1][i] );
                while ( s > x ){
                    s -= ( sp[k2][p] - sp[k1-1][p] );
                    p++;
                }
                if ( ( i-p+1 ) * ( k2-k1+1 ) > maxim )
                    maxim = ( i-p+1 ) * ( k2-k1+1);
            }
        }


    fout << maxim;
}