Pagini recente » Cod sursa (job #880284) | Cod sursa (job #1194001) | Cod sursa (job #1993360) | Cod sursa (job #3132317) | Cod sursa (job #2592926)
#include <bits/stdc++.h>
using namespace std;
ifstream in("plantatie.in");
ofstream out("plantatie.out");
int n,m;
int rmq[9][501][501];
int main()
{
in>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
in>>rmq[0][i][j];
int rMax=log2(n);
for(int r=1,l=1;r<=rMax;r++,l*=2)
for(int i=1;i<=n-2*l+1;i++)
for(int j=1;j<=n-2*l+1;j++)
rmq[r][i][j]=max( max(rmq[r-1][i][j],rmq[r-1][i+l][j]) , max(rmq[r-1][i][j+l],rmq[r-1][i+l][j+l]) );
for(int k=1,i,j,l;k<=m;k++)
{
in>>i>>j>>l;
int r=log2(l);
int m=1<<r;
out<<max( max(rmq[r][i][j],rmq[r][i+l-m][j+l-m]) , max(rmq[r][i+l-m][j],rmq[r][i][j+l-m]) )<<'\n';
}
return 0;
}