Pagini recente » Cod sursa (job #707554) | Cod sursa (job #2183052) | Cod sursa (job #1682351) | Cod sursa (job #2223469) | Cod sursa (job #1141092)
#include<fstream>
#include<algorithm>
using namespace std;
long long prod[501][501][10];
int main()
{
int n,m;
int ii,i,j,k;
int p;
ifstream f("plantatie.in");
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
f>>prod[i][j][0];
}
for(k=1;(1<<k)<=n;k++)
for(i=1;(i+(1<<k)-1)<=n;i++)
for(j=1;(j+(1<<k)-1)<=n;j++)
prod[i][j][k]=max(max(prod[i][j][k-1],prod[i+(1<<(k-1))][j][k-1]),max(prod[i][j+(1<<(k-1))][k-1],prod[i+(1<<(k-1))][j+(1<<(k-1))][k-1]));
ofstream g("plantatie.out");
for(ii=1;ii<=m;ii++)
{
f>>i>>j>>k;
for(p=0;(1<<p)<=k;p++);
p--;
g<<max(max(prod[i][j][p],prod[i+k-(1<<p)][j][p]),max(prod[i][j+k-(1<<p)][p],prod[i+k-(1<<p)][j+k-(1<<p)][p]))<<'\n';
}
f.close();
g.close();
return 0;
}