Pagini recente » Cod sursa (job #468394) | Cod sursa (job #468500) | Cod sursa (job #3138877) | Cod sursa (job #2108710) | Cod sursa (job #3254243)
//
// main.cpp
// range minimum query
//
// Created by Andrada Minca on 06.11.2024.
//
#include <fstream>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n,m,i,k,qi,l,qj,j,a[17][1005][1005];
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{fin>>a[0][i][j];}
}
for(int p=1,lat=2;lat<=n;p++,lat*=2)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
a[p][i][j]=a[p-1][i][j];
int i2=i+lat/2;
int j2=j+lat/2;
a[p][i][j]=max(max(a[p-1][i2][j],a[p-1][i][j]),max(a[p-1][i][j2],a[p-1][i2][j2]));
}
}
}
int e[600];
e[1]=0;
for(i=2;i<=n;i++)e[i]=1+e[i/2];
for(i=1;i<=m;i++)
{
fin>>qi>>qj>>l;
k=e[l];
int lat=(1<<k);
int i2=qi+l-lat;
int j2=qj+l-lat;
fout<<a[0][1][2]<<" ";
fout<<max(max(a[k][i2][j],a[k][i][j]),max(a[k][i][j2],a[k][i2][j2]))<<'\n';
}
return 0;
}