Cod sursa(job #1910996)

Utilizator Gl0WCula Stefan Gl0W Data 7 martie 2017 19:05:21
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;
int n, m, k, x, i, j, i1, i2, maxim, v[305][305];
int main()
{
    ifstream fin ("teren.in");
    ofstream fout ("teren.out");
    fin>>n>>m>>x;
    for(i = 1; i <= n; i++){
        for(j = 1; j <= m; j++){
            fin>>k;
            v[i][j] = v[i - 1][j] + k;
        }
    }
    int s, maxim = -1, p, a;
    for(i1 = 1; i1 <= n; i1++){
        for(i2 = i1; i2 <= n; i2++){
            s = 0; p = 1;
            for(j = 1; j <= m; j++){
                s += v[i2][j] - v[i1 - 1][j];
                while( s > x ){
                    s -= v[i2][p] - v[i1 - 1][p];
                    p++;
                }
                a = (i2 - i1 + 1) * (j - p + 1);
                if(a > maxim){
                    maxim = a;
                }
            }
        }
    }
    fout<<maxim;
    return 0;
}