A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. Béla szereti mindig jól átlátni a környezetét, így miután Nevesincs városba költözött, első dolga az volt, hogy rajzolt egy térképet a városról, és följegyezte rajta minden egyes utca hosszát ‐ természetesen mikrométerben, mivel a pontatlanságot ki nem állhatja. Ezek után persze az útvonalait is nagyon gondosan tervezi meg: most például azt eszelte ki, hogy úgy jusson el -ból -be, hogy az útvonalán előforduló leghosszabb és legrövidebb utca hosszának különbsége minimális legyen. Írjunk programot, amely meghatároz Béla számára egy ilyen tulajdonságú útvonalat. A program a város leírását a standard bemenetről olvassa. Ennek első sorában egyetlen szóközzel elválasztva a kereszteződések száma, illetve az ezeket összekötő utcák száma található (, ). A második sor az és kereszteződések sorszámát tartalmazza, az ezt követő darab sor pedig rendre egy-egy utcát ír le formátumban, ahol és az -edik utca által összekötött két kereszteződés sorszáma, pedig az -edik utca hossza (). Feltehetjük, hogy egy utca két végpontja mindig különbözik egymástól, valamint hogy nincs két olyan utca, melyek mindkét végpontja megegyezik. A kereszteződéseket 0-tól -ig sorszámozzuk. A standard kimenet egyetlen sorába egy darab szám kerüljön: ha elérhető -ból , akkor az elérhető legkisebb különbség, ellenkező esetben pedig .
A maximális pontszám eléréséhez a programnak a legnagyobb teszteseteket is legfeljebb 1 másodperc alatt meg kell oldania. Beküldendő egy tömörített s70.zip állományban a program forráskódja (s70.pas, s70.cpp, ) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s70.txt, s70.pdf, ), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrás melyik fejlesztőkörnyezetben fordítható.
|