Pagini recente » Cod sursa (job #1890864) | Cod sursa (job #2416749) | Cod sursa (job #1113638) | Cod sursa (job #2215807) | Cod sursa (job #2634249)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n,a[505][505][10],maxp,m,startx,starty,val,ans;
int main()
{
int i,j,p,k,t,x,y;
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fin>>a[i][j][0];
p=1;
while(p<=n)
{
maxp++;
p=p*2;
}
maxp--;
p=1;
for(t=1;t<=maxp;t++)
{
for(i=1;i<=n-2*p+1;i++)
for(j=1;j<=n-2*p+1;j++)
a[i][j][k]=max(a[i][j][k-1],max(a[i+p][j+p][k-1],max(a[i][j+p][k-1],a[i+p][j][k-1])));
p=p*2;
}
for(i=1;i<=m;i++)
{
fin>>x>>y>>val;
p=1;
k=0;
while(p<=val)
{
k++;
p=p*2;
}
p=p/2;
k--;
ans=max(a[x][y][k],max(a[x+val-p][y+val-p][k],max(a[x][y+val-p][k],a[x+val-p][y][k])));
fout<<ans<<'\n';
}
return 0;
}