Atenție! Aceasta este ultima versiune a paginii., scrisă la 2025-02-23 15:00:04.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire hibrid.in, hibrid.out Sursă OJI 2023 Clasa a 8-a
Autor Andrei Onuț Adăugată de avatar demetriad-dagpag David Demetriad demetriad-dagpag
Timp de execuție pe test 0.25 sec Limită de memorie 65536 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Hibrid (clasa a 8-a)

O mașină hibrid se deplasează pe o șosea rectilinie folosind, alternativ, fie motorul termic (pe benzină), fie motorul electric. Axa numerelor întregi poate fi folosită pentru a descrie coordonatele de pe șosea. Deplasarea mașinii folosind motorul electric se efectuează fără taxă, dar unele porțiuni din șosea necesită folosirea motorului termic, ceea ce impune plata anumitor taxe. Se cunoaște lista celor P porțiuni taxabile de șosea, numerotate de la 1 la P, oricare două dintre ele fiind disjuncte. Fiecare porțiune este descrisă de trei numere întregi: sti, dri și ci (1 ≤ iP), cu semnificația că pe porțiunea de șosea situată între coordonatele sti și dri (inclusiv la capetele sti și dri) se va folosi motorul termic și se va achita taxa în valoare de ci lei. Această taxă se va plăti la fiecare traversare a porțiunii, indiferent de sensul deplasării.

Traseul pe care mașina hibrid îl are de străbătut conține N borne amplasate pe șosea, numerotate de la 1 la N, în ordinea în care acestea trebuie vizitate. Pentru fiecare dintre cele N borne se cunoaște coordonata poziției sale pe șosea: x1, x2, x3, ..., xN. Deplasarea între două borne consecutive de pe traseu, adică între borna i și borna [i+1] (pentru fiecare i: 1 ≤ i < N), se face pe drumul cel mai scurt, respectiv pe segmentul de dreaptă ce unește punctele cu coordonatele xi și xi+1 de pe șosea. Mașina hibrid va începe traseul din dreptul bornei cu numărul de ordine 1, adică de la coordonata x1 de pe șosea. De asemenea, se știe că nicio bornă de pe traseu nu se află în interiorul sau la capetele porțiunilor taxabile, unde se folosește deplasarea cu motorul termic.

Cerințe

Să se determine:

  1. numărul de ordine al porțiunii taxabile peste care se va trece de cele mai multe ori în călătorie (folosind motorul termic). Dacă există mai multe astfel de porțiuni, se va alege cea cu indicele minim, în funcție de ordinea dată în fișierul de intrare. De asemenea, în caz că nu se va trece peste nicio porțiune taxabilă, acest număr va fi egal cu -1.
  2. suma totală, exprimată în lei, care trebuie plătită pentru a parcurge traseul stabilit. În caz că nu se va trece peste nicio porțiune taxabilă, atunci această sumă va fi egală cu 0.

Date de intrare

Pe prima linie a fișierului de intrare hibrid.in se află, separate între ele prin câte un spațiu, trei numere naturale, C, P și N, cu semnificațiile din enunț. C poate avea fie valoarea 1, fie valoarea 2, în funcție de cerința care trebuie rezolvată. Pe următoarele P linii se află, separate între ele prin câte un spațiu, câte trei numere întregi: sti, dri și ci, cu semnificația de mai sus. Pe următoarea linie se află N numere întregi, separate între ele prin câte un spațiu, reprezentând, în ordine, coordonatele bornelor ce trebuie vizitate: x1, x2, x3, ..., xN.

Date de ieșire

Fișierul de ieșire hibrid.out va conține, pe prima linie, un singur număr întreg, în funcție de cerința care trebuie rezolvată. Dacă C = 1, atunci se va rezolva cerința 1, altfel, se va rezolva cerința 2.

Restricții și precizări

  • 2 ≤ P ≤ 100 000 și 2 ≤ N ≤ 200 000;
  • -300.000 ≤ sti < dri ≤ 300 000 și 1 ≤ ci ≤ 100 000, pentru fiecare i: 1 ≤ iP;
  • -1.000.000 ≤ xi ≤ 1 000 000, pentru fiecare i: 1 ≤ iN;
  • Întrucât au dimensiuni neglijabile, pot exista și două sau mai multe borne situate la aceeași coordonată pe șosea;
  • Pe durata întregului traseu, motorul termic (pe benzină) este utilizat doar pentru parcurgerea porțiunilor taxabile peste care mașina hibrid trebuie să treacă. În rest, se folosește doar motorul electric, pentru a reduce poluarea;
# Punctaj Restricții
1
11
Pentru efectuarea traseului nu se va trece peste nicio porțiune taxabilă
2
8
0 ≤ sti, xj și dri, xj ≤ 70, pentru fiecare i și j: 1 ≤ iP , 1 ≤ j ≤ N
3
12
|xi+1xi| ≤ 70, pentru fiecare i: 1 ≤ i < N și |xi| ≤ 300 000, pentru fiecare i: 1 ≤ iN
4
40
P, N ≤ 3 000
5
29
Nu există alte restricții suplimentare

Exemple

hibrid.in hibrid.out Explicație
1 2 4
4 8 10
-10 -9 22
-14 20 -14 0
2
Există două porțiuni taxabile (P=2):
  • porțiunea 1 cuprinde coordonatele: 4, 5, 6, 7, 8 și are taxa de 10 lei la fiecare trecere;
  • porțiunea 2 cuprinde coordonatele: -10, -9 și are taxa de 22 de lei la fiecare trecere.
     
    Traseul pe care mașina hibrid îl are de parcurs este alcătuit din N = 4 borne, situate la coordonatele:
    -14 (prima bornă, din dreptul căreia se începe traseul), 20 (a doua bornă), -14 (a treia bornă;
    de remarcat că este situată la aceeași coordonată ca și prima bornă!), respectiv 0 (a patra bornă).
    Peste prima porțiune taxabilă se va trece de două ori, iar peste cea de a doua se va trece de trei ori.
    Prin urmare, se va afișa 2.
2 2 4
4 8 10
-10 -9 22
-14 20 -14 0
86
Conform explicației de mai sus, se va afișa 86
(2 treceri * 10 lei/trecere + 3 treceri * 22 lei/trecere = 86 de lei, adică suma totală plătită pentru
efectuarea traseului).

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii