Pagini recente » Cod sursa (job #1290506) | Cod sursa (job #1072627) | Cod sursa (job #229772) | Cod sursa (job #2450800) | Cod sursa (job #2466325)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("plantatie.in");
ofstream fout ("plantatie.out");
int q, n, a[505][505][10], i, j, x, y, k, lg;
int main()
{
fin >> n >> q;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
fin >> a[i][j][0];
for(k=1; 1<<k <= n; k++)
for(i=1; i+(1<<k)-1<=n; i++)
for(j=1; j+(1<<k)-1<=n; j++)
a[i][j][k]=max(max(a[i][j][k-1], a[i][j+(1<<k-1)][k-1]), max(a[i+(1<<k-1)][j][k-1], a[i+(1<<k-1)][j+(1<<k-1)][k-1]));
for(i=1;i<=q;i++)
{
fin >> x >> y >> lg;
for(k=0;1<<k+1 <= lg; k++);
fout << max(max(a[x][y][k], a[x][y+lg-(1<<k)][k]), max(a[x+lg-(1<<k)][y][k], a[x+lg-(1<<k)][y+lg-(1<<k)][k])) << '\n';
}
return 0;
}