Pagini recente » Cod sursa (job #1852991) | Cod sursa (job #2125004) | Cod sursa (job #2396153) | Cod sursa (job #3219249) | Cod sursa (job #827568)
Cod sursa(job #827568)
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,i,j,k,p,a[510][510][10],sol,x,y,z;
int main()
{
freopen("plantatie.in","r",stdin);
freopen("plantatie.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j][0]);
for(k=1,p=1;2*p<=n;k++,p<<=1)
{
//printf("k = %d\n",k);
for(i=1;i<=n-2*p+1;i++)
{
for(j=1;j<=n-2*p+1;j++)
{
a[i][j][k]=max(max(a[i][j][k-1],a[i+p][j][k-1]),max(a[i][j+p][k-1],a[i+p][j+p][k-1]));
//printf("%d ",a[i][j][k]);
}
//printf("\n");
}
//printf("\n\n");
}
for(;m;--m)
{
scanf("%d %d %d\n",&x,&y,&z);
for(i=0,p=1;2*p<=z;p<<=1,i++);
sol=max(max(a[x][y][i],a[x+p/2][y][i]),max(a[x][y+p/2][i],a[x+p/2][y+p/2][i]));
printf("%d\n",sol);
}
return 0;
}