Pagini recente » Cod sursa (job #2670226) | Cod sursa (job #40888) | Cod sursa (job #2479580) | Cod sursa (job #2444661) | Cod sursa (job #1543785)
#include <fstream>
#define FOR(a,b,c) for(int a=b; a<=c; ++a)
#define max(a,b) (a>b?a:b)
using namespace std;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
int n, m, i, j, x, y, z;
int a[10][510][510];
int main(){
f>>n>>m;
FOR(i,1,n)
FOR(j,1,n)
f>>a[0][i][j];
z=0;
while( (1<<z++)<=n );
z-=2;
FOR(i,1,z)
FOR(x,1,n)
FOR(y,1,n)
a[i][x][y]=max( max(a[i-1][x][y], a[i-1][x+( 1<<(i-1) )][y+( 1<<(i-1) )]), max(a[i-1][x+( 1<<(i-1) ) ][y], a[i-1][x][y+( 1<<(i-1) )]) );
FOR(intrebari,1,m)
{
f>>x>>y>>z;
i=0;
while( (1<<i++)<=z );
i-=2;
g<<max( max(a[i][x][y], a[i][x+z-(1<<i)][y+z-(1<<i)]), max(a[i][x+z-(1<<i)][y], a[i][x][y+z-(1<<i)]) )<<"\n";
}
return 0;
}