Cod sursa(job #3275981)

Utilizator LucaMirsolea14Luca Mirsolea LucaMirsolea14 Data 12 februarie 2025 10:16:15
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");

int n,m,i,j,X,mat[302][302],sp[302][302],stricate[302][302];

//int Ar_Max,(int v[],ss[]){
//
///// v[m];
//
//int i,j,stiva[1002],lg=100000,maxi=0,ar;
//
//for(i=1;i<=m;i++){
//
//    if(s[i])
//    lg=min(lg,v[i]);
//
//}
//
//}

int main(){

int i,j,ans=0,k;

fin>>n>>m>>X;

for(i=1;i<=n;i++)
    for(j=1;j<=m;j++){
        fin>>mat[i][j];
       // if(mat[i][j]==0)
        sp[i][j]=mat[i][j]+sp[i-1][j];
        //else
        //stricate[i][j]=1+stricate[i-1][j];
    }

//for(i=1;i<=n;i++)
//    ans=max(ans,Ar_Max(mat[i],stricate[i]));

int ss=0, _last;

for(i=1;i<=n;i++){
    for(j=1;j<=n;j++){

        ss=0;

        _last=1;

        for(k=1;k<=m;k++){

            ss+=sp[j][k]-sp[i-1][k];

            if(ss>X){

                while(ss>X){
                    ss=ss-sp[j][_last]+sp[i-1][_last];
                    _last++;
                }

            }

            ans=max(ans,(j-i+1)*(k-_last+1));

        }

    }
}

fout<<ans;
}