Pagini recente » Cod sursa (job #2098359) | Cod sursa (job #222478) | Cod sursa (job #2937693) | Cod sursa (job #2039550) | Cod sursa (job #1766343)
#include <bits/stdc++.h>
using namespace std;
int n,m,i,in,j,p,a[510][20][510],x[20][510],X,Y,Z,Log[510],ans,k,r,l;
int main()
{
freopen("plantatie.in","r",stdin);
freopen("plantatie.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=2; i<=n; ++i)
Log[i]=Log[i/2]+1;
for(in=1; in<=n; ++in)
{
for(p=1; p<=n; ++p)
cin>>x[0][p];
for(i=1; (1<<i)<=n; ++i)
for(j=1; j<=n-(1<<i)+1; ++j)
{
x[i][j]=max(x[i-1][j],x[i-1][j+(1<<(i-1))]);
a[in][i][j]=x[i][j];
}
}
for(in=1; in<=m; ++in)
{
scanf("%d%d%d",&X,&Y,&Z);
l=Y;
r=Y+Z-1;
k=Log[r-l+1];
ans=0;
for(i=X; i<=X+Z-1; ++i)
ans=max(ans,max(a[i][k][l],a[i][k][r-(1<<k)+1]));
printf("%d\n",ans);
}
return 0;
}