Pagini recente » Cod sursa (job #208428) | Cod sursa (job #273479) | Cod sursa (job #1073437) | Cod sursa (job #67829) | Cod sursa (job #2292225)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n,m,i,j,k,L[505],t,p,maxx,maxx2,x,y,l,put;
int a[503][75003][11];
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fin>>a[i][j][0];
L[1]=0;
for(i=2;i<=n;i++)
L[i]=L[i/2]+1;
for(t=1;t<=L[n]+1;t++){
p=(1<<t);
for(i=1;i<=n-p+1;i++)
for(j=1;j<=n-p+1;j++){
a[i][j][t]=max(a[i][j][t-1],a[i][j+p/2][t-1]);
maxx=max(a[i+p/2][j][t-1],a[i+p/2][j+p/2][t-1]);
a[i][j][t]=max(a[i][j][t],maxx);
}
}
for(i=1;i<=m;i++){
fin>>x>>y>>l;
p=L[l];
put=(1<<p);
maxx=max(a[x][y][p],a[x+l-put][y][p]);
maxx2=max(a[x][y+l-put][p],a[x+l-put][y+l-put][p]);
fout<<max(maxx,maxx2)<<"\n";
}
}