Cod sursa(job #1934135)

Utilizator 3DwArDPauliuc Edward 3DwArD Data 21 martie 2017 10:36:43
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("teren.in");
ofstream g("teren.out");
int n,m,k,x,a[301][301],v[301],ans=0;
int main()
{
    f>>n>>m>>k;
    for(int i=1;i<=n;i++ ){
        for(int j=1;j<=m;j++){
            f>>x;
            a[i][j]=a[i-1][j]+x;
        }
    }
    for(int up=1;up<=n;up++){
        for(int low=up;low<=n;low++){
            for(int j=1;j<=m;j++){
                v[j]=a[low][j]-a[up-1][j];
            }
            int st=1,s=0;
            for(int dr=1;dr<=m;dr++){
                s+=v[dr];
                while(st<=dr&&s>k){
                    s-=v[st];
                    st++;
                }
                if(st<=dr)ans=max(ans,(low-up+1)*(dr-st+1));
            }
        }
    }
    g<<ans;
    return 0;
}