Cod sursa(job #1804576)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 12 noiembrie 2016 19:12:06
Problema Plantatie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
int n,t,i,j,k,x,y,d,put[505],a[10][501][501];
int main()
{
    f>>n>>t;
    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j) f>>a[0][i][j];
    for(i=1;i<=n;++i) put[i]=put[i>>1]+1;
    for(k=1;k<=put[n];++k)
    {
        d=(1<<(k-1));
        for(i=1;i<=n-d;++i)
            for(j=1;j<=n-d;++j)
                a[k][i][j]=max(a[k-1][i][j],max(a[k-1][i+d][j],max(a[k-1][i][j+d],a[k-1][i+d][j+d])));
    }
    while(t--)
    {
        f>>x>>y>>k;
        d=(1<<(put[k]-1));
        g<<max(a[put[k]-1][x][y],max(a[put[k]-1][x+k-d][y],max(a[put[k]-1][x][y+k-d],a[put[k]-1][x+k-d][y+k-d])))<<'\n';
    }
    return 0;
}