Pagini recente » Cod sursa (job #370684) | Cod sursa (job #2750355) | Cod sursa (job #2774650) | Cod sursa (job #2813574) | Cod sursa (job #3297661)
#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[1005][1005][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;
}