Pagini recente » Cod sursa (job #836204) | Cod sursa (job #904347) | Cod sursa (job #906445)
Cod sursa(job #906445)
#include<fstream>
#include<algorithm>
using namespace std;
long n,m,i,j,x,y,l,yf,a[501][501][10],k,lg[501],dif,d;
int main()
{
ifstream f("plantatie.in");
ofstream g("plantatie.out");
f>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
f>>a[i][j][0];
for(i=1;i<=n;++i)
lg[i]=lg[i>>1]+1;
for(k=1;k<=lg[n];++k)
{
d=(1<<(k-1));
for(i=1;i<=n-d;++i)
for(j=1;j<=n-d;++j)
a[i][j][k]=max(a[i][j][k-1],max(a[i+d][j][k-1],max(a[i][j+d][k-1],a[i+d][j+d][k-1])));
}
for(i=1;i<=m;++i)
{
f>>x>>y>>k;
d=(1<<(lg[k]-1));
g<<max(a[x][y][lg[k]-1],max(a[x+k-d][y][lg[k]-1],max(a[x][y+k-d][lg[k]-1],a[x+k-d][y+k-d][lg[k]-1])))<<'\n';
}
return 0;
}