Pagini recente » Cod sursa (job #2718663) | Autentificare | Cod sursa (job #2121557) | Cod sursa (job #1783070) | Cod sursa (job #2988683)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int x[501][501][20], y[501], r[1001];
int main()
{ int n, m, a, b, c;
fin>>n>>m;
for(int i=2;i<=n;i++)
r[i]=1+r[i/2];
for(int i=1;i<=n;i++)
{for(int j=1;j<=n;j++)
fin>>y[j];
for(int i1=1;i1<=n;i1++)
{x[i][i1][0]=y[i1];
for(int j=1;1<<j<=i1;j++)
x[i][i1][j]=max(x[i][i1][j-1], x[i][i1-(1<<(j-1))][j-1]);
}
}
for(int i=1;i<=m;i++)
{fin>>a>>b>>c;
int maxi=-1, l=r[c];
for(int j=a;j<=a+c-1;j++)
maxi=max(maxi, max(x[j][b+(1<<l)-1][l], x[j][b+c-1][l]));
fout<<maxi<<"\n";
}
return 0;
}