Cod sursa(job #1588808)

Utilizator TimoteiCopaciu Timotei Timotei Data 3 februarie 2016 17:05:43
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <iostream>
using namespace std;
int N, M, dp[303][303], X, x, mx, ok;
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++){
            ok = 1;
            for(int st = 1; st <= j, ok == 1; st++)
            if(dp[i][j] - dp[i][st - 1] - dp[dr - 1][j]  + dp[dr - 1][st - 1] <= X){
            if((i - dr + 1)*(j - st + 1) > mx)mx = (i - dr + 1)*(j - st + 1);
            ok = 0;
            }
          }

    g << mx;
    return 0;
}