Pagini recente » Cod sursa (job #2305316) | Cod sursa (job #331800)
Cod sursa(job #331800)
#include<stdio.h>
#define nmax 512
int n,m[nmax][nmax][32];
int max(int x,int y)
{
if (x>y)
return x;
return y;
}
int main()
{
int t;
freopen("plantatie.in","r",stdin);
freopen("plantatie.out","w",stdout);
scanf("%d%d",&n,&t);
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
scanf("%d",&m[i][j][1]);
int p=1;
for(int k=2;k<n;++k)
{
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
m[i][j][k]=max( max(m[i][j][k-1],m[i+p][j][k-1]) , max(m[i+p][j+p][k-1],m[i][j+p][k-1]) );
p=p*2;
}
for(;t;--t)
{
int i,j,k;
scanf("%d%d%d",&i,&j,&k);
int p,l;
for(l=1, p=1; 2*l<=k ;l*=2 , ++p);
printf("%d\n",max(m[i][j][p], max(m[i][j+k-l][p], max(m[i+k-l][j][p], m[i+k-l][j+k-l][p]) ) ));
}
return 0;
}