Cod sursa(job #3188446)

Utilizator answarIonascu Andrei answar Data 2 ianuarie 2024 22:10:21
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
using namespace std;
ifstream cin("teren.in");
ofstream cout("teren.out");
int n,m,i,j,k,rez,s,p,u;
int v[310][310],a[310][310];
int main() {
    cin>>n>>m>>k;
    for (i=1;i<=n;i++) {
        for (j=1;j<=m;j++) {
            cin>>v[i][j];
            a[i][j]=a[i-1][j]+v[i][j];
        }
    }
    for (i=1;i<=n;i++) {
        for (j=i;j<=n;j++) {
            s=0;
            p=1;
            for (u=1;u<=m;u++) {
                s+=a[j][u];
                s-=a[i-1][u];
                for (;p<=u;) {
                    if (s>k) {
                        s-=a[j][p];
                        s+=a[i-1][p];
                        p++;
                    }
                    else {
                        break;
                    }
                }
                if (p<=u&&s<=k) {
                    if ((j-i+1)*(u-p+1)>=rez) {
                        rez=(j-i+1)*(u-p+1);
                    }
                }
            }
        }
    }
    cout<<rez;
}