Cod sursa(job #2238368)

Utilizator YetoAdrian Tonica Yeto Data 5 septembrie 2018 13:19:12
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;
int n, m, x, i, j, st, dr,nr, Max;
int a[301][301];

int main () {
    ifstream fin ("teren.in");
    ofstream fout ("teren.out");
    fin>>n>>m>>x;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++) {
            fin>>nr;
            a[i][j]=a[i-1][j]+nr;
    }

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

        for (j=i;j<=n;j++) {
                int s=0;dr=1;
           for(st=1;st<=m;st++) {

            while(st<=dr&&dr<=m&&s+a[j][dr]-a[i-1][dr]<=x){
                s+=a[j][dr]-a[i-1][dr];
                if((j-i+1)*(dr-st+1)>Max)
                {
                    Max=(j-i+1)*(dr-st+1);
                }
                dr++;

            }
            if(st>=dr)
                  dr=st+1;
          if(s>0)
            s=s-(a[j][st]-a[i-1][st]);
           }
        }
    }


    fout<<Max;

    return 0;
}