Pagini recente » Cod sursa (job #544820) | Cod sursa (job #2629112) | Cod sursa (job #2109684) | Cod sursa (job #3162107) | Cod sursa (job #2134684)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("plantatie.in");
ofstream fout ("plantatie.out");
int n,m,w[10][502][502],lg[100002];
int main()
{
int a,b,k;
fin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
fin>>w[0][i][j];
for(int i=2;i<=n;++i)lg[i]=lg[i/2]+1;
for(int i=1;(1<<i)<=n;++i)
for(int q=1;q<=n-(1<<i)+1;++q)
for(int qq=1;qq<=n-(1<<i)+1;++qq)
w[i][q][qq]=max(max(w[i-1][q][qq],
w[i-1][q][qq+(1<<(i-1))]),max(
w[i-1][q+(1<<(i-1))][qq],
w[i-1][q+(1<<(i-1))][qq+(1<<(i-1))]));
for(int ii=1;ii<=m;++ii){
int i,j;
fin>>i>>j>>k;
fout<<max(max(w[lg[k]][i][j],
w[lg[k]][i][j+k-(1<<lg[k])]),max(
w[lg[k]][i+k-(1<<lg[k])][j],
w[lg[k]][i+k-(1<<lg[k])][j+k-(1<<lg[k])]))<<'\n';
}
return 0;
}