Cod sursa(job #150226)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 6 martie 2008 19:11:24
Problema Plantatie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <math.h>

long

void max(long nr1, long nr2) {
	if (nr1 > nr2) {
		return nr1;
	}
	return nr2;
}

int main() {
	freopen("plantatie.in", "r", stdin);
	freopen("plantatie.out", "w", stdout);
	scanf("%ld %ld\n", &n, &m);
	for (i = 1; i <= n; ++i) {
		for (j = 1; j <= n; ++j) {
			scanf("%ld", &a[i][j][0]);
		}
	}
	
	for (i = 1; i <= n; ++i) {
		for (j = 1; j <= n; ++j) {
			for( long k = 1,y = 1; y*2 <= n; k++,y*=2)
				a[i][j][k] = max(max(max(a[i][j][k-1],a[i+y][j][k-1]),a[i+y][j+y][k-1]),a[i][j+y][k-1]);
	}
	for ( long i = 1; i <= m; ++i)
	{
		scanf("%ld %ld %ld",&qi,&qj,&ql);
		long qk = marime[ql];
		printf("%ld\n",max(a[qi][qj][qk],a[qi+ql-(1<<qk)]).......
	}
	return 0;
}