Dārgākais posms

Stāsts
Loģistika ir zinātne par to, kā jebkuras sistēmas ietvaros objektīvāk plānot, regulēt un kontrolēt informācijas, materiālu, produkcijas, cilvēku un enerģijas plūsmas, kā arī visaptveroša šo plūsmu vadīšana; ar ražojumu izplatīšanu saistīto darbu optimizēšana.
Pētnieks Konrāds šobrīd analizē kādas transporta firmas materiālu pārvadāšanas plūsmas. Viņš ir noskaidrojis, ka firma savus pārvadājumus veic tikai starp noteiktām pilsētām tā, ka katrs posms saista tieši divas pilsētas, turklāt pārvadājums no vienas pilsētas līdz kādai citai vienmēr ir šādu posmu virkne, kas vienmēr iespējama tikai vienā vienīgā veidā. Pilsētas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas.
Vienas šādas sistēmas ar pilsētas savienojošajiem posmiem piemērs parādīts 1. attēlā.


Konrāds ir noskaidrojis, ka pārvadājumu izmaksas katrā posmā var izteikt kā naturālu skaitli, kas nepārsniedz kādu zināmu vērtību , un tās dažādiem posmiem var atšķirties. Viņš vēlas noteikt, kurā posmā izmaksas ir vislielākās. Diemžēl firma nevēlas sniegt pilnu informāciju par esošajām izmaksām, bet ir gatava sniegt atbildi "jā" vai "nē" uz šādiem vaicājumiem: "Vai maršrutā no pilsētas līdz pilsētai kādā posmā pārvadājumu izmaksas ir vismaz ?"
Uzrakstiet datorprogrammu, kas ģenerē šādu vaicājumu virkni ar mērķi atrast posmu ar vislielākajām pārvadājumu izmaksām!
Komunikācija
Šis ir interaktīvs uzdevums. Jūsu programmai, sākot darbu, pirmajā ievaddatu rindā doti divi naturāli skaitļi (pilsētu skaits, ) un (maksimālās iespējamās viena posma izmaksas, ), kas atdalīti ar tukšumzīmi. Nākamajā ievaddatu rindā katrā dots viena divas pilsētas savienojošā posma apraksts -- savienoto pilsētu numuri, kas atdalīti ar tukšumzīmi.
Dārgākā posma (vai posmu) atrašanās vietu un precīzās tā izmaksas vērtēšanas sistēma tur slepenībā.
Tad jūsu programma var veikt vaicājumus, tos rakstot izvadā sekojošā formātā: "0 ", kur un ir divu pilsētu numuri -- atšķirīgi naturāli skaitļi , bet -- izmaksas, izteiktas kā naturāls skaitlis. Vērtēšanas sistēma uz vaicājumu izdod atbildi nākamajā ievaddatu rindā. Atbilde ir vesels skaitlis -- , ja maršrutā no līdz visu posmu izmaksas ir mazākas par , vai , ja vismaz viena posma izmaksas ir lielākas vai vienādas ar .
Jūsu programma katrā testā var veikt ne vairāk kā vaicājumus.
Kad dārgākā posma atrašanās vieta noteikta, programmai jāizvada "1 " (), kur un ir dārgākā posma galos esošo pilsētu numuri, un darbība jābeidz. Vērtēšanas sistēma neatbildēs uz šo izvadu un nepieņems sekojošus vaicājumus.
Ja sistēmā ir vairāki posmi ar dārgākajām izmaksām, jāizvada informācija par jebkuru no tiem. Raksturojot posmu, pilsētu numuru secībai nav nozīmes.
Piemērs
| Ievaddati | Izvaddati (Jūsu programmas vaicājumi) | Komentāri |
|---|---|---|
| | Atbilst 1. attēlam. |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | Visdārgākais posms ir starp un . Tikpat dārgs, bet ne dārgāks, pēc šī dialoga rezultātiem var būt posms starp un . |
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Kreisās pilsētas skaits ir 2. | 1 |
| 2. | Katrā pilsētā ne vairāk kā 2 savienojumi ar citām pilsētām. | 10 |
| 3. | Dārgākā posma izmaksas nepārsniedz 2. | 10 |
| 4. | Dārgākā posma izmaksas nepārsniedz 256. | 15 |
| 5. | Nav papildu ierobežojumu. | 64 |
Ja ir pareizi atrasts bojātais kabelis, tad atkarībā no veikto vaicājumu skaita katram testam tiek aprēķināta tā kvalitāte. To aprēķina šādi:
- Ja , tad "kvalitāte" .
- Ja , tad "kvalitāte" .
- Ja , tad "kvalitāte"
- Ja , tad "kvalitāte"
- Ja , tad "kvalitāte" .
Ja grupā ir iekļauti vairāki testi, tad grupas vērtējumu nosaka vissliktāk izpildītais tests (kura kvalitāte ir vismazākā). Par testu grupu piešķirto punktu skaitu aprēķina kā: "Piešķirtais punktu skaits"
Piezīmes
Lai garantētu, ka jūsu programmas "vaicājumus" saņem vērtēšanas sistēma, jums ir "jāsinhronizē" ( flush ) izvaddatu plūsma ( stdout ) pēc katra vaicājuma.
| Valoda | Piemērs |
|---|---|
C++ |
|
Go |
|
Java |
|
Pascal |
|
Python |
|
Ja testa ietvaros tiks pārsniegts maksimāli atļautais vaicājumu skaits, tā statuss pēc testēšanas būs "Nepareiza atbilde".
Dārgākais posms

Stāsts
Loģistika ir zinātne par to, kā jebkuras sistēmas ietvaros objektīvāk plānot, regulēt un kontrolēt informācijas, materiālu, produkcijas, cilvēku un enerģijas plūsmas, kā arī visaptveroša šo plūsmu vadīšana; ar ražojumu izplatīšanu saistīto darbu optimizēšana.
Pētnieks Konrāds šobrīd analizē kādas transporta firmas materiālu pārvadāšanas plūsmas. Viņš ir noskaidrojis, ka firma savus pārvadājumus veic tikai starp noteiktām pilsētām tā, ka katrs posms saista tieši divas pilsētas, turklāt pārvadājums no vienas pilsētas līdz kādai citai vienmēr ir šādu posmu virkne, kas vienmēr iespējama tikai vienā vienīgā veidā. Pilsētas ir sanumurētas ar naturāliem skaitļiem no līdz pēc kārtas.
Vienas šādas sistēmas ar pilsētas savienojošajiem posmiem piemērs parādīts 1. attēlā.


Konrāds ir noskaidrojis, ka pārvadājumu izmaksas katrā posmā var izteikt kā naturālu skaitli, kas nepārsniedz kādu zināmu vērtību , un tās dažādiem posmiem var atšķirties. Viņš vēlas noteikt, kurā posmā izmaksas ir vislielākās. Diemžēl firma nevēlas sniegt pilnu informāciju par esošajām izmaksām, bet ir gatava sniegt atbildi "jā" vai "nē" uz šādiem vaicājumiem: "Vai maršrutā no pilsētas līdz pilsētai kādā posmā pārvadājumu izmaksas ir vismaz ?"
Uzrakstiet datorprogrammu, kas ģenerē šādu vaicājumu virkni ar mērķi atrast posmu ar vislielākajām pārvadājumu izmaksām!
Komunikācija
Šis ir interaktīvs uzdevums. Jūsu programmai, sākot darbu, pirmajā ievaddatu rindā doti divi naturāli skaitļi (pilsētu skaits, ) un (maksimālās iespējamās viena posma izmaksas, ), kas atdalīti ar tukšumzīmi. Nākamajā ievaddatu rindā katrā dots viena divas pilsētas savienojošā posma apraksts -- savienoto pilsētu numuri, kas atdalīti ar tukšumzīmi.
Dārgākā posma (vai posmu) atrašanās vietu un precīzās tā izmaksas vērtēšanas sistēma tur slepenībā.
Tad jūsu programma var veikt vaicājumus, tos rakstot izvadā sekojošā formātā: "0 ", kur un ir divu pilsētu numuri -- atšķirīgi naturāli skaitļi , bet -- izmaksas, izteiktas kā naturāls skaitlis. Vērtēšanas sistēma uz vaicājumu izdod atbildi nākamajā ievaddatu rindā. Atbilde ir vesels skaitlis -- , ja maršrutā no līdz visu posmu izmaksas ir mazākas par , vai , ja vismaz viena posma izmaksas ir lielākas vai vienādas ar .
Jūsu programma katrā testā var veikt ne vairāk kā vaicājumus.
Kad dārgākā posma atrašanās vieta noteikta, programmai jāizvada "1 " (), kur un ir dārgākā posma galos esošo pilsētu numuri, un darbība jābeidz. Vērtēšanas sistēma neatbildēs uz šo izvadu un nepieņems sekojošus vaicājumus.
Ja sistēmā ir vairāki posmi ar dārgākajām izmaksām, jāizvada informācija par jebkuru no tiem. Raksturojot posmu, pilsētu numuru secībai nav nozīmes.
Piemērs
| Ievaddati | Izvaddati (Jūsu programmas vaicājumi) | Komentāri |
|---|---|---|
| | Atbilst 1. attēlam. |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | Visdārgākais posms ir starp un . Tikpat dārgs, bet ne dārgāks, pēc šī dialoga rezultātiem var būt posms starp un . |
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Kreisās pilsētas skaits ir 2. | 1 |
| 2. | Katrā pilsētā ne vairāk kā 2 savienojumi ar citām pilsētām. | 10 |
| 3. | Dārgākā posma izmaksas nepārsniedz 2. | 10 |
| 4. | Dārgākā posma izmaksas nepārsniedz 256. | 15 |
| 5. | Nav papildu ierobežojumu. | 64 |
Ja ir pareizi atrasts bojātais kabelis, tad atkarībā no veikto vaicājumu skaita katram testam tiek aprēķināta tā kvalitāte. To aprēķina šādi:
- Ja , tad "kvalitāte" .
- Ja , tad "kvalitāte" .
- Ja , tad "kvalitāte"
- Ja , tad "kvalitāte"
- Ja , tad "kvalitāte" .
Ja grupā ir iekļauti vairāki testi, tad grupas vērtējumu nosaka vissliktāk izpildītais tests (kura kvalitāte ir vismazākā). Par testu grupu piešķirto punktu skaitu aprēķina kā: "Piešķirtais punktu skaits"
Piezīmes
Lai garantētu, ka jūsu programmas "vaicājumus" saņem vērtēšanas sistēma, jums ir "jāsinhronizē" ( flush ) izvaddatu plūsma ( stdout ) pēc katra vaicājuma.
| Valoda | Piemērs |
|---|---|
C++ |
|
Go |
|
Java |
|
Pascal |
|
Python |
|
Ja testa ietvaros tiks pārsniegts maksimāli atļautais vaicājumu skaits, tā statuss pēc testēšanas būs "Nepareiza atbilde".