Cod sursa(job #1147360)

Utilizator tudi98Cozma Tudor tudi98 Data 19 martie 2014 19:27:44
Problema Teren Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("teren.in");
ofstream g("teren.out");
int n,m,x,a[301][301],sum,sol=0,st,dr,i,j,suma,s[301][301];

int main(){

    f>>n>>m>>x;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    f>>a[i][j];

    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    s[i][j]=s[i-1][j]+a[i][j];

    for(i=1;i<=n;i++)
    for(j=i;j<=n;j++){
        st=1; sum=0;
        for(dr=1;dr<=m;dr++){
        sum+=s[j][dr]-s[i-1][dr];
        while(sum>x && st<=dr){
            sum-=s[j][st];
            st++;
        }
        if(st<=dr) sol=max(sol,(dr-st+1)*(j-i+1));
        }
        }

    g<<sol;
    }