Cod sursa(job #2836560)

Utilizator clara123Ghira Clara clara123 Data 20 ianuarie 2022 16:52:43
Problema Plantatie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int i,n,m,x,y,j,e,len,r[100][510][510],E[510],x2,y2,l,k,i2,j2,p,lat;
int main(){
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            fin>>r[0][i][j];
    for(p=1,lat=2;lat<=n;p++,lat*=2){
        for(i=1;i<=n-lat+1;i++){
            for(j=1;j<=n-lat+1;j++){
                i2=i+(lat>>1);
                j2=j+(lat>>1);
                r[p][i][j]=max(max(r[p-1][i][j],r[p-1][i2][j]),max(r[p-1][i][j2],r[p-1][i2][j2]));
            }
        }
    }
    E[1]=0;
    for(i=2;i<=n;i++)
        E[i]=1+E[i/2];
    for(i=1;i<=m;i++){
        fin>>x>>y>>l;
        k=E[l];
        len=(1<<k);
        x2=x+l-len;
        y2=y+l-len;
        fout<<max(max(r[k][x][y],r[k][x][y2]),max(r[k][x2][y],r[k][x2][y2]))<<"\n";
    }


    return 0;
}