Négyzetrács
Egy NxN-es négyzetrács pontjai egy gráfot alkotnak (1<=N<=2003). Minden pontból csak jobbra vagy lefele vezet él. Minden élhez egész súlyérték tartozik (1<=súly<=500000). Az (1,1) koordinátájú bal felsö ponttól az (x,y) koordinátájú pontig vezetö minden út egyforma hosszú (összsúlyú).
Az alábbi példában N=3, az (1,1) pontból a (2,2) pontba vezetö minden út hossza 4, az (1,1)-böl az (1,2)-be vezetö egyetlen út hossza pedig 2.
A feladatod megadni azt az (x,y) pontot, amelyikhez az (1,1) pontból vezetö út hossza egy adott L,   1<=L<=2000000000 (2 milliárd). Az élek súlyait közvetlenül nem ismered, de amelyikre kiváncsi vagy, lekérdezheted egy eljáráshivással. 
A programod legfeljebb 6667 ilyen kérdést tehet föl.
Könyvtári eljárások
A getN() és a getL() függvények megadják N és L értékét. A getWeight(x,y,irány) függvény az (x,y) pontból kiinduló él súlyát adja, irány=0 esetén a jobbra vezetöét, irány=1 esetén pedig a lefele vezetöét.
Ha találtál egy olyan (x,y) pontot, amely L távolságra van az (1,1)-töl, akkor a solution(x,y) eljáráshivással közöld! Ha nincs megoldás, akkor a solution(-1,-1) eljáráshivást hajtsd végre! Nem kapsz pontot, ha a programod 6667-nél többször hivja a getWeight függvényt.
A programod nem használhat sem input, sem output file-t!

C/C++	
int getN()
int getL()
int getWeight(int x, int y, int irany)
void solution(int x, int y)	
Pascal	
function getN: Longint
function getL: Longint
function getWeight(x,y,irany: Longint)
procedure solution(x,y: Longint)	
A ~/ceoi, illetve a c:\ceoi könyvtárban találod a fenti eljárások egy megvalósitását, de értékeléskor nem ezt fogják használni.
A kipróbáláshoz készits egy square.in állományt. Elsö sorában az N és az L értéke legyen, a következö N sor minegyike N-1 értéket tartalmazzon: a vizszintes élek súlyát. Az ezt követö N-1 sor pedig N értéket tartalmazzon, a függöleges élek súlyát.
A könyvtár használata: #include “square_lib.h”, illetve uses square_lib.
Teszteléskor programod a square.in állomány miatt lassú lehet és sok memóriát használhat. Az értékeléskor használt megvalósitás nem használ ilyen állományt, ezért gyorsabb.
Példa
square.in	függvényhivások és eredményük	
3 4
1 2
2 3
1 1
2 3 4
5 4 2	getN() -> 3
getL() -> 4
getWeight(1,1,0) -> 1
getWeight(2,1,1) -> 3
solution(2,2)