Cod sursa(job #1628220)

Utilizator TimoteiCopaciu Timotei Timotei Data 3 martie 2016 21:59:22
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
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 = 0; i < N; i++)
    for(int j = i + 1; j <= N; j++){
     int st = 0;
    for(int dr = 1; dr <= M; dr++){
        while(dp[j][dr] - dp[i][dr] - dp[j][st] + dp[i][st] > X) st++;
        if(st <= dr) mx = max(mx, (j - i) * (dr - st));
          }
    }
    g << mx;
    return 0;
}