Cod sursa(job #2868968)

Utilizator dariusbandilaBandila Darius-Mihai dariusbandila Data 11 martie 2022 11:55:21
Problema Teren Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
/**
 ____ ____ ____ ____ ____
||d |||a |||r |||i |||u ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|
///* window * isi cere drepturile inapoi! dariusbandila17 de pe pbinfo i-a furat prestigiul!
**/
#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 main(){
    int n,m,x,s,arie;
    int mini=2e9;
    int lmaxi=-1;
    fin >> n >> m >> x;
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)fin>>a[i][j];
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)sp[i][j]=a[i][j]+sp[i-1][j]+sp[i][j-1]-sp[i-1][j-1];
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            for(int i1=i;i1<=n;i1++){
                for(int j1=j;j1<=m;j1++){
                     s=sp[i1][j1]-sp[i-1][j1]-sp[i1][j-1]+sp[i-1][j-1];
                     if(s<=x){
                        arie=(i1-i+1)*(j1-j+1);
                        if(arie>lmaxi)lmaxi=arie;

                     }
                }
            }
        }
    }
    fout << lmaxi;
}