Cod sursa(job #2304372)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 17 decembrie 2018 22:36:50
Problema Plantatie Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
#define Dim 504
using namespace std;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
long Ans[Dim][Dim][Dim],P[Dim][Dim],N,M;
long a,b,c;

int main()
{
    f>>N>>M;
    for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++)
    {
        f>>P[i][j];
        Ans[i][j][1]=P[i][j];
    }
    for(int lg=2;lg<=Dim;lg++)
    for(int i=1;i<=N-lg+1;i++)
    for(int j=1;j<=N-lg+1;j++)
    {
        Ans[i][j][lg]=max(Ans[i][j][lg-1],Ans[i+1][j+1][lg-1]);
        Ans[i][j][lg]=max(Ans[i][j][lg],P[i+lg-1][j]);
        Ans[i][j][lg]=max(Ans[i][j][lg],P[i][j+lg-1]);
    }
    for(int i=1;i<=M;i++)
    {
        f>>a>>b>>c;
        g<<Ans[a][b][c]<<'\n';
    }
    return 0;
}