Cod sursa(job #2837391)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 22 ianuarie 2022 10:21:36
Problema Plantatie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
using namespace std;
ifstream fin ("plantatie.in");
ofstream fout("plantatie.out");
int n,m,L,k,l,i,j,x,y,p,a[11][502][502],V[502];
int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            fin>>a[0][i][j];
    }
    k=0;
    for(l=1;k<=n;l++)
    {
        k=(1<<l);
        for(x=1;x<=n-k+1;x++)
        {
            for(y=1;y<=n-k+1;y++)
            {
                i=x+k/2;
                j=y+k/2;
                a[l][x][y]=max(max(a[l-1][x][y],a[l-1][i][y]), max(a[l-1][x][j],a[l-1][i][j]));
            }
        }
    }

    for(i=2;i<=n;i++)
        V[i]=1+V[i/2];

    while(m>0)
    {
        fin>>x>>y>>L;
        l=V[L];
        k=(1<<l);
        i=x+L-k;
        j=y+L-k;
        fout<<max(max(a[l][x][y], a[l][x][j]), max(a[l][i][y], a[l][i][j])) << "\n";
        m--;
    }
    return 0;
}