Pagini recente » Cod sursa (job #320473) | Cod sursa (job #1886389) | Cod sursa (job #2516647) | Cod sursa (job #126140) | Cod sursa (job #2836560)
#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;
}