Cod sursa(job #1289056)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 9 decembrie 2014 13:50:00
Problema Teren Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <stdio.h>
int n,m,x;
int a[301][301],b[301][301];
int maxim(int a,int b)
{
    if(a<b) return b;
    return a;
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("teren.in","r");
    fout=fopen("teren.out","w");
    fscanf(fin,"%d %d %d",&n,&m,&x);
    for(int i=1;i<=n;i++) 
    {
            for(int j=1;j<=m;j++) fscanf(fin,"%d",&a[i][j]);
    }
    for(int i=1;i<=n;i++)
    {
            for(int j=2;j<=m;j++) a[i][j]+=a[i][j-1]; 
    }
    for(int i=2;i<=n;i++)
    {
            for(int j=2;j<=m;j++)
            {
                    a[i][j]+=a[i-1][j];
            }
    }
    int max=0;
    for(int i=1;i<=n;i++)
    {
            for(int j=1;j<=m;j++)
            {
                    for(int k=j;k<=m;k++)
                    {
                            if(a[i][k]-a[i][j-1]<=x)
                            {
                                                    if(max<(k-j+1)*i) max=(k-j+1)*i;
                            }
                    }
            }
    }
    fprintf(fout,"%d", max);
}