Cod sursa(job #3185568)

Utilizator nicushor21Pirlog Marian Nicolae nicushor21 Data 19 decembrie 2023 17:29:06
Problema Teren Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
int n,m,x,v,sum[302][302],i,j,k,st,dr,maxim;
int main(){
    ifstream fin("teren.in");
    ofstream fout("teren.out");
    fin>>n>>m>>x;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            fin>>v;
            sum[i][j]=sum[i-1][j]+v;
        }
    }
    for(i=1;i<=n;i++){
        for(j=i;j<=n;j++){
            st=1;dr=1;
            k=sum[j][1]-sum[i-1][1];
            while(st<m&&dr<m){
                if(k>x){
                    k-=sum[j][st]-sum[i-1][st++];
                }else{
                    if((j-i+1)*(dr-st+1)>maxim){
                        maxim=(j-i+1)*(dr-st+1);
                    }
                    k+=sum[j][++dr]-sum[i-1][dr];
                }
            }
        }
    }
    fout<<maxim;
    return 0;
}