Pagini recente » Cod sursa (job #1082260) | Cod sursa (job #118626) | Cod sursa (job #835575) | Cod sursa (job #389150) | Cod sursa (job #2837280)
#include <bits/stdc++.h>
#define DIM 502
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int i,j,i1,j2,m,n,l,len,k,x,p,st,dr;
int a[11][DIM][DIM], v[DIM];
int main(){
fin>>n>>m;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
fin>>a[0][i][j];
}
}
for(i=1,l=2;l<=n;i++,l*=2){
for(j=1;j<=n-l+1;j++){
for(p=1;p<=n-l+1;p++){
i1=j+(l>>1);
j2=p+(l>>1);
a[i][j][p]=max(max(a[i-1][j][p],a[i-1][i1][p]), max(a[i-1][i][j2], a[i-1][i1][j2]));
}
}
}
for(i=2;i<=n;i++){
v[i]=v[i/2]+1;
}
for(i=1;i<=m;i++){
fin>>st>>dr>>x;
k=v[x];
len=(1<<k);
i1=st+x-len;
j2=dr+x-len;
fout<<max(max(a[k][st][dr], a[k][st][j2]), max(a[k][i1][dr], a[k][i1][j2]))<<"\n";
}
return 0;
}