Cod sursa(job #2808375)

Utilizator rares89_Dumitriu Rares rares89_ Data 24 noiembrie 2021 22:50:15
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 n, m, x, a, v[310][310], ans;
 
int main() {
    fin >> n >> m >> x;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            fin >> v[i][j];
            v[i][j] += v[i - 1][j];
        }
    }
    for(int i = 1; i <= n; i++) {
        for(int j = i; j <= n; j++) {
            int st = 1, dr = 1, sc = 0;
            for(; dr <= m; dr++) {
                sc += v[j][dr] - v[i - 1][dr];
                while(st <= dr && sc > x) {
                    sc -= (v[j][st] - v[i - 1][st]);
                    st++;
                }
                if(st <= dr) {
                    ans = max(ans, (j - i + 1) * (dr - st + 1));
                }
            }
        }
    }
    fout << ans;
    return 0;
}