Cod sursa(job #2353150)

Utilizator radugnnGone Radu Mihnea radugnn Data 23 februarie 2019 21:58:21
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("teren.in");
ofstream fout ("teren.out");
int a[310][310],n,m,x,i,j,st,mx,sol,s,k;
int sp(int is, int ij, int js, int jj){
    return a[ij][jj] - a[is-1][jj] - a[ij][js-1] + a[is-1][js-1];
}
int main(){
    fin>>n>>m>>x;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++){
            fin>>a[i][j];
            a[i][j]+= a[i-1][j]+a[i][j-1]-a[i-1][j-1];
    }

    for(i=1;i<=n;i++)
    for(j=i;j<=n;j++){
            st=1;
            mx=0;
            s=0;
        for(k=1;k<=m;k++){
                s+=sp(i,j,k,k);
            while(s>x){
                    s-=sp(i,j,st,st);
                    st++;
                }
            mx=max(mx,k-st+1);
            }
        sol=max(sol,mx*(j-i+1));
        }
    fout<<sol;
    return 0;
}