Pagini recente » Profil dtz.petrican | Cod sursa (job #3296380) | Cod sursa (job #3286375) | Cod sursa (job #2480) | Cod sursa (job #3297660)
#include <bits/stdc++.h>
using namespace std;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
void nos()
{
ios_base::sync_with_stdio(false);
f.tie(NULL);
}
int n,m,q,p;
int plant[505][505][15];
int main()
{
int n,m;
f>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
f>>plant[i][j][0];
for(int k=1; k<10; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
{
int i1=i+(1<<(k-1));
int j2=j+(1<<(k-1));
plant[i][j][k]=max({plant[i][j][k-1],plant[i1][j][k-1],plant[i][j2][k-1],plant[i1][j2][k-1]});
}
while(m--)
{
int i,j,k;
f>>i>>j>>k;
int p=0;
while(1<<(p+1)<k)
p++;
int i1=i+k-(1<<p);
int j2=j+k-(1<<p);
int ans=max({plant[i][j][p],plant[i1][j][p],plant[i][j2][p],plant[i1][j2][p]});
g<<ans<<'\n';
}
return 0;
}