Pagini recente » Cod sursa (job #2777743) | Cod sursa (job #1298875) | Cod sursa (job #2047444) | Cod sursa (job #154559) | Cod sursa (job #1454325)
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
#define MAXN 501
#define max(x, y) ((x) > (y) ? (x) : (y))
using namespace std;
int N, M, RMQ[9][MAXN][MAXN], log[MAXN];
int main(){
freopen("plantatie.in", "r", stdin);
freopen("plantatie.out", "w", stdout);
scanf("%d %d", &N, &M);
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N; ++j)
scanf("%d", &RMQ[0][i][j]);
for (int i = 2; i <= N; ++i) log[i] = log[i >> 1] + 1;
for (int k = 1; (1 << k) <= N; ++k)
for (int i = 1; i <= N; ++i)
for (int j = 1; j <= N - (1 << k) + 1; ++j)
RMQ[k][i][j] = max(RMQ[k - 1][i][j], RMQ[k - 1][i][j + (1 << (k - 1))]);
for (int row, i, j, k, maxx = -1; M; --M, maxx = -1){
scanf("%d %d %d", &i, &j, &k);
row = log[k];
for (int l = 1; l <= k; ++l, ++i)
maxx = max(maxx, max(RMQ[row][i][j], RMQ[row][i][j + k - (1 << row)]));
printf("%d\n", maxx);
}
return 0;
}