Cod sursa(job #1588450)

Utilizator TimoteiCopaciu Timotei Timotei Data 3 februarie 2016 08:42:52
Problema Teren Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
using namespace std;
int N, M, dp[303][303], X, x, mx;
int main()
{
    ifstream f("teren.in");
    ofstream g("teren.out");
    f >> N >> M >> X;
    for(int i = 1; i <= N; i++)
        for(int j = 1; j <= M; j++){
        f >> x;
        dp[i][j] = x + dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];
    }
    for(int i = 1; i <= N; i++)
    for(int j = 1; j <= M; j++){
        for(int dr = 1; dr <= i; dr++)
            for(int st = 1; st <= j; st++)
            if((i - dr + 1)*(j - st + 1) > mx && dp[i][j] - dp[i][st - 1] - dp[dr - 1][j]  + dp[dr - 1][st - 1] <= X)
            mx = (i - dr + 1)*(j - st + 1);
    }
    g << mx;
    return 0;
}