Cod sursa(job #1760068)

Utilizator denniscrevusDennis Curti denniscrevus Data 20 septembrie 2016 10:46:56
Problema Ferma2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#define NMAX 1005
#define LL long long
#define INF 99999999999

using namespace std;

ifstream f("diagonale.in");
ofstream g("diagonale.out");

LL d[NMAX][NMAX], i, j, n, v[NMAX][NMAX], s[NMAX][NMAX],mx;

void calcd()
{
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            d[i][j]=d[i-1][j-1]+v[i][j];
}

void calcs()
{
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            s[i][j]=s[i-1][j+1]+v[i][j];

}
int main()
{
    f>>n;

    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            f>>v[i][j];

    calcd();
    calcs();

    mx=-INF;

    i=n;

    for(j=1;j<=n;j++)
        if(d[i][j]>mx)
            mx=d[i][j];

    for(j=1;j<=n;j++)
        if(d[j][i]>mx)
            mx=d[j][i];

    for(j=1;j<=n;j++)
        if(s[i][j]>mx)
            mx=s[i][j];

    i=1;

    for(j=1;j<=n;j++)
        if(s[j][i]>mx)
            mx=s[j][i];

    g<<mx;
}