Pagini recente » Cod sursa (job #3242834) | Cod sursa (job #3242841)
/*****************************************
Butoi Alexandru - Gabriel
Colegiul National
"Iancu de Hunedoara"
*****************************************/
#include <fstream>
#include <algorithm>
using namespace std;
int rmq[9][502][502],i,j,k;
ifstream cin("plantatie.in");
ofstream cout("plantatie.out");
int main()
{
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
cin >> rmq[0][i][j];
}
}
for(int k = 1; (1 << k) <= n; k++){
for(int i = 1; i <= n - (1 << k)+ 1; 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+(1 << (k-1))][j], rmq[k-1][i][j + (1<<(k-1))], rmq[k-1][i+(1<<(k-1))][j+(1<<(k-1))]});
}
}
}
for(int q = 0; q < m; q++){
cin >> i >> j >> k;
int p = 31 - __builtin_clz(k);
int res = max({rmq[p][i][j],rmq[p][i+k-(1<<p)][j+k-(1<<p)],rmq[p][i+k-(1<<p)][j],rmq[p][i][j+k-(1<<p)]});
cout << res << '\n';
}
return 0;
}