Cod sursa(job #1304543)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 28 decembrie 2014 23:31:01
Problema Plantatie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <cstdio>
#include <fstream>
#define nmax 505
using namespace std;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
int n,m;
int v[10][nmax][nmax];
int lg[505],log,put,lat;

int main()
{
    int i,j,l,c;
    f>>n>>m;
    for (i=1;i<=n;i++)
            for (j=1;j<=n;j++)
                    f>>v[0][i][j];
    for (l=1;l<=9;l++)
            {put=1<<(l-1);
             for (i=1;i<=n;i++)
                    for (j=1;j<=n;j++)

        v[l][i][j]=max(max(v[l-1][i][j],v[l-1][i+put][j]),max(v[l-1][i][j+put],v[l-1][i+put][j+put]));}
    lg[0]=-1;
    for (i=1;i<=500;i++)
                lg[i]=lg[i>>1]+1;
    while (m) {
        f>>l>>c>>lat;
        log=lg[lat];
        put=1<<(log-1);
        g<<max(max(v[log][l][c],v[log][l+put][c]),max(v[log][l][c+put],v[log][l+put][c+put]))<<'\n';
        m--;
    }

return 0;}