Pagini recente » Cod sursa (job #2933812) | Cod sursa (job #34697) | Cod sursa (job #136541) | Cod sursa (job #2109281) | Cod sursa (job #276734)
Cod sursa(job #276734)
#include<fstream.h>
#define lx 10
#define nx 505
#define max(x,y) ((x)>(y)?(x):(y))
long C[nx][nx][lx];
int n,m;
int main()
{
ifstream be ("plantatie.in");
ofstream ki ("plantatie.out");
int n,m;
long x,y,z,i,j,k,l;
be>>n>>m;
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
be>>C[i][j][0];
for (k=1;(1<<k)<=n;++k)
for (i=1;i<=n-(1<<k)+1;++i)
for (j=1;j<=n-(1<<k)+1;++j)
{
l=1<<(k-1);
C[i][j][k]=max(max(C[i][j][k-1],C[i][j+l][k-1]),max(C[i+l][j][k-1],C[i+l][j+l][k-1]));
}
for (;m;--m)
{
be>>x>>y>>z;
for (i=1;(1<<i)<=z;++i);
--i;
l=1<<i;
ki<<max(max(C[x][y][i],C[x][y+z-l][i]),max(C[x+z-l][y][i],C[x+z-l][y+z-l][i]))<<'\n';
}
be.close();
ki.close();
return 0;
}