Cod sursa(job #904347)

Utilizator misinoonisim necula misino Data 4 martie 2013 10:36:48
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,log2[505],a[501][501][10];
int main()
{
    f>>n>>t;
    for(i=1;i<=n;++i)
    for(j=1;j<=n;++j)
    f>>a[i][j][0];
    for(i=1;i<=n;++i)
    log2[i]=log2[i>>1]+1;
    for(k=1;k<=log2[n];++k)
    {
        d=(1<<(k-1));
        for(i=1;i<=n-d;++i)
        for(j=1;j<=n-d;++j)
        a[i][j][k]=max(a[i][j][k-1],max(a[i+d][j][k-1],max(a[i][j+d][k-1],a[i+d][j+d][k-1])));
    }
    for(;t;--t)
    {
        f>>x>>y>>k;
        d=(1<<(log2[k]-1));
        g<<max(a[x][y][log2[k]-1],max(a[x+k-d][y][log2[k]-1],max(a[x][y+k-d][log2[k]-1],a[x+k-d][y+k-d][log2[k]-1])))<<'\n';
    }
    return 0;
}