Cod sursa(job #2871327)

Utilizator dariusbandilaBandila Darius-Mihai dariusbandila Data 14 martie 2022 12:56:58
Problema Teren Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
const int NMAX=305;
int a[NMAX][NMAX],sp[NMAX][NMAX];
int armax;
int main(){
    int n,m,k;
    int st=1,s=0,armax=0;
    fin >> n >> m>>k;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            fin>>a[i][j];
            sp[i][j]=sp[i-1][j]+a[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            st=1,s=0;
            for(int dr=1;dr<=m;dr++){
                s+=sp[j][dr]-sp[i-1][dr];
                while(st<=dr && s>k){
                    s-=sp[j][st]+sp[i-1][st];
                    st++;
                }
            armax=max(armax,(j-i+1)*(dr-st+1));
            }

        }
    }
    fout <<armax;
}