Pagini recente » Profil Asgari_Armin | Cod sursa (job #857064) | Cod sursa (job #2270864) | Cod sursa (job #154848) | Cod sursa (job #781133)
Cod sursa(job #781133)
#include<iostream>
#include<fstream>
using namespace std;
const int LMAX = 8;
int a[LMAX+1][501][501],lg[501];
int main ()
{
int n,m,i,j,k,nr,l;
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[0][i][j];
lg[1]=0;
for(i=2;i<=n;i++)
lg[i]=lg[i/2]+1;
for(k=1;(1<<k)<=n;k++)
for(i=1;i<=n-(1<<k)+1;i++)
for(j=1;j<=n-(1<<k)+1;j++)
a[k][i][j]=max(max(a[k-1][i][j],a[k-1][i][j+(1<<(k-1))]),max(a[k-1][i+(1<<(k-1))][j],a[k-1][i+(1<<(k-1))][j+(1<<(k-1))]));
for(nr=1;nr<=m;nr++) {
f>>i>>j>>l;
k=lg[l];
g<<max(max(a[k][i][j],a[k][i][j-(1<<k)+l]),max(a[k][i-(1<<k)+l][j],a[k][i-(1<<k)+l][j-(1<<k)+l]))<<'\n';
}
f.close();
g.close();
return 0;
}