Pagini recente » Cod sursa (job #1107021) | Cod sursa (job #2695196) | Cod sursa (job #835004) | Cod sursa (job #1012557) | Cod sursa (job #3254224)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int r[10][503][503],e[503],n,m,j1,j2,i1,i2,i,j,lat,p,l1,l2,l3,l4,k;
int main()
{fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)fin>>r[0][i][j];
for(p=1,lat=2;lat<=n;p++,lat*=2)
for(i1=1;i1+lat-1<=n;i1++)
for(j1=1;j1+lat-1<=n;j1++){
i2=i1+(lat>>1);
j2=j1+(lat>>1);
r[p][i1][j1]=max(max(r[p-1][i1][j1],r[p-1][i1][j2]),max(r[p-1][i2][j1],r[p-1][i2][j2]));
}
e[1]=0;
for(i=2;i<=n;i++)e[i]=1+e[i/2];
while(m){
fin>>l1>>l2>>l3>>l4;
k=e[l1];
lat=(1<<k);
i2=l1+lat;
j2=l2+lat;
fout<<max(max(r[k][l1][l2],r[k][l1][j2]),max(r[k][i2][l2],r[k][i2][j2]))<<endl;
m--;
}
return 0;
}