Fişierul intrare/ieşire:telecab.in, telecab.outSursăONI 2011 - clasa a 10-a
AutorConstantin GalatanAdăugată deSpiderManSimoiu Robert SpiderMan
Timp execuţie pe test0.1 secLimită de memorie10240 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Telecab

Bobi este un excursionist pasionat. Zona muntoasă pe care o va vizita în această vară are o caracteristică atractivă: există un sistem de transport cu telecabina. Proiecţia pe un plan orizontal a traseului ales de Bobi este o linie dreaptă. Anumite puncte situate pe munte, dintre care unele se află pe traseul telecabinei, se numesc cote. Proiecţiile cotelor pe orizontală sunt N puncte coliniare aflate unul faţă de altul la distanţa de un kilometru.

In figură, cu linie plină este reprezentat profilul muntelui, iar cu linie punctată îngroşată traseul telecabinei, acolo unde acesta nu coincide cu profilul muntelui. Telecabina parcurge segmentele care unesc cotele: [1, 2], [2, 3], [3, 6], [6, 7], [7, 8] şi [8, 9].
Fie H1, H2, ..., HN înălţimile cotelor. Viteza normală cu care se deplasează telecabina este de v = 1 Km / oră. Traseul telecabinei este format din segmente de dreaptă şi urmează în general profilul muntelui, trecând prin fiecare cotă. Abaterea traseului telecabinei de la profilul muntelui are loc în situaţia în care un cablu de telecabină poate fi întins direct între o cotă i şi prima cotă j, aflată în direcţia de deplasare, care se află la o înălţime mai mare decât cota i.
Bobi dispune de suma de S euro. Pentru fiecare segment de drum parcurs între două cote i şi j, el trebuie să plătească suma HjHi euro dacă este vorba de o porţiune de urcare în pantă şi nu trebuie să plătească nimic dacă este vorba despre o porţiune orizontală.
La coborârea unei pante situată între două cote i şi i + 1 Bobi are două variante: prima variantă este de a coborî cu viteza normală v = 1 Km/oră şi atunci nu plăteşte nimic. A doua variantă, pe care băiatul o poate alege prin apăsarea unui buton în telecabină, este de a coborî panta, indiferent de lungimea ei, în timpul de o oră, deci cu o viteză diferită de cea normală, dar în acest caz Bobi trebuie să plătească suma HiHi+1 euro.

Cerinţă

Cunoscând înălţimile celor n cote prin care va trece telecabina şi suma de care dispune Bobi, scrieţi un program care determină:

  1. Lungimea totală a traseului telecabinei măsurat între cota 1 şi cota N.
  2. Timpul minim exprimat în ore de care are nevoie Bobi ca să ajungă la o cotă de pe drum cu numărul de ordine mai mare sau egal cu K dat, ştiind că porneşte de la cota 1 şi că există cel puţin o variantă care conduce la acest timp minim şi care necesită o sumă mai mică sau egală cu S.

Date de intrare

Fişierul de intrare telecab.in conţine pe prima linie trei numere naturale N K S separate prin câte un spaţiu.
Pe fiecare dintre următoarele N linii se găseşte câte un număr natural. Pe linia i+1 se găseşte numărul Hi, exprimat în kilometri, reprezentând înălţimea cotei i (i = 1, 2, ..., N).

Date de ieşire

Fişierul de ieşire telecab.out va conţine pe prima linie un număr întreg L, reprezentând lungimea totală a traseului telecabinei, între cotele 1 şi N, exprimat în kilometri. Pe linia a doua se va scrie numărul natural Tmin, reprezentând timpul minim de care are nevoie Bobi ca să atingă o cotă având numărul de ordine mai mare sau egal cu K.

Restricţii

  • 3 ≤ N ≤ 100 000
  • 1 ≤ H1, H2, ..., HN ≤ 10
  • 1 ≤ K, S ≤ 1 000
  • Distanţa dintre două cote succesive de pe traseu se calculează ca fiind partea întreagă a distanţei euclidiene în plan dintre cele două cote
  • Între două cote consecutive, profilul muntelui este un segment de dreaptă care uneşte cotele
  • Pentru toate cazurile de test se garantează că Bobi are suficienţi bani pentru a atinge sau a depăşi cota K
  • Pentru mişcarea rectilinie cu viteza constantă, distanţa = viteza × timpul
  • Pentru rezolvarea primei cerinţe se obţine 20% din punctajul fiecărui test

Exemplu

telecab.intelecab.outExplicaţie
9 8 7
4
5
2
2
1
3
5
3
3
12
9
Exemplul este cel din figură. Lungimea traseului telecabinei este:
1 + 3 + 3 + 2 + 2 + 1 = 12
Timpul minim de deplasare până la cota 8 este:
1 + 1 + 3 + 2 + 2 = 9
Segmentul [1, 2] se parcurge în 1 ore şi se cheltuie 1 euro.
Segmentul [2, 3] se parcurge în 1 ore şi se cheltuie 3 euro.
Segmentul [3, 6] se parcurge în 3 ore şi se cheltuie 1 euro.
(distanţa de la cota 3 la cota 6 este: \lfloor\sqrt{(6 - 3)^2 + (3 - 2)^2}\rfloor = 3, iar timpul este 3 / 1 = 3).
Segmentul [6, 7] se parcurge în 2 ore şi se cheltuie 2 euro.
Segmentul [7, 8] se parcurge în 2 ore şi se cheltuie 0 euro.
5 3 2
1
2
2
3
1
5
3
Lungimea traseului telecabinei este:  1 + 2 + 2 = 5
Timpul minim de deplasare până la cota 4 este: 1 + 2 = 3
Segmentul [1, 2] se parcurge în 1 ore şi se cheltuie 1 euro.
Segmentul [2, 4] se parcurge în 2 ore şi se cheltuie 1 euro.
Se observă că telecabina atinge cotele 2 şi 4, trecând pe deasupra cotei 3.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content