Cod sursa(job #2305804)

Utilizator SchnitzelMannPavaloiu Gabriel SchnitzelMann Data 21 decembrie 2018 08:46:55
Problema Plantatie Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("plantatie.in");
ofstream out("plantatie.out");
int l[10],r[10][10][9],a[10];
int main()	
{
    int n,m,i,j,k,nr,x,y,mx;
    in>>n>>m;
    for(i=2;i<=n;i++)
        l[i]=1+l[i/2];
    for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
        {
            in>>r[k][i][0];
            for(j=1;(1<<j)<=i;j++)
                r[k][i][j]=max(r[k][i-(1<<(j-1))][j-1],r[k][i][j-1]);
        }
    while(m--)
    {
        in>>i>>j>>k;
        nr=l[k];
        mx=0;
        for(x=i;x<i+k;x++)
            mx=max(mx,max(r[x][j+(1<<nr)-1][nr],r[x][j+k-1][nr]));
        out<<mx<<"\n";
    }
    return 0;	
}