Pagini recente » Cod sursa (job #1404449) | Cod sursa (job #3303282) | Cod sursa (job #623936) | Cod sursa (job #1150190) | Cod sursa (job #3330928)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
const int nMax=2e5+5,MOD=1e9+7,lg=10;
int t,n,m,k,x,y,z,a,b,c,d,cnt,ans,rez,sum,poz,len,e;
int v[nMax],rmq[lg][501][501],E[501];
bool ok;
char ch;
string s;
map<int,int>mp;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
fin>>n>>m;
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j)
fin>>rmq[0][i][j];
for(int bit=1; bit<lg; ++bit)
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j)
{
a=min(n,i+(1<<(bit-1)));
b=min(n,j+(1<<(bit-1)));
rmq[bit][i][j]=max({rmq[bit-1][i][j],rmq[bit-1][i][b],rmq[bit-1][a][j],rmq[bit-1][a][b]});
}
for(int i=2; i<=n; ++i)
E[i]=E[i/2]+1;
while(m--)
{
fin>>x>>y>>z;
len=z;
e=E[len];
fout<<max({rmq[e][x][y],rmq[e][x][y+z-(1<<e)],rmq[e][x+z-(1<<e)][y],rmq[e][x+z-(1<<e)][y+z-(1<<e)]})<<'\n';
}
}