Cod sursa(job #2683886)

Utilizator Desiree_ClaryArmaczki Alexandra Desiree_Clary Data 12 decembrie 2020 10:52:17
Problema Plantatie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
	
#include<fstream>
#include<cmath>
#include<iostream>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n,i,j,m,a,b,l,k,p;
int d[501][501][10];
int max4(int a,int b,int c,int d)
{
    return max(max(a,b),max(c,d));
}
int main()
{
    fin>>n>>m;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            fin>>d[i][j][0];
 
    for(k=1; k<=9; k++)
    {
        p=(1<<k);
        for(i=1; i<=n-p+1; i++)
         for(j=1; j<=n-p+1; j++)
           d[i][j][k]=max4(d[i][j][k-1],d[i+p/2][j][k-1],d[i][j+p/2][k-1],d[i+p/2][j+p/2][k-1]);
    }
 
    for(i=1; i<=m; i++)
    {
        fin>>a>>b>>l;
        p=log2(l);
        fout<<max4(d[a][b][p],d[a+l-(1<<(p))][b][p],d[a][b+l-(1<<(p))][p],d[a+l-(1<<(p))][b+l-(1<<(p))][p])<<'\n';
    }
	
	  return 0;
}