Diferente pentru problema/metrou3 intre reviziile #1 si #12

Diferente intre titluri:

metrou3
Metrou3

Diferente intre continut:

== include(page="template/taskheader" task_id="metrou3") ==
Poveste şi cerinţă...
Problema aceasta este despre metroul din Cluj. Glumim, bineînţeles, nu există metrou în Cluj. E de fapt vorba de Zalău. Metroul din Zalău este un ciclu cu $N$ staţii, distanţa între două staţii consecutive nefiind constantă. Aceste distanţe vă sunt date prin şirul $D$: valorea $D[i]$ reprezintă durata parcurgerii distanţei dintre staţia $i$ şi staţia $(i + 1) modulo N$ în secunde. Fie $T$ durata unui tur complet al metroului (egală cu suma valorilor din $D$). Ştim că există doar două trenuri: unul care se va afla în staţia $0$ în secunda $A$, mergând în direcţia staţiei $1$ şi unul care se va afla în staţia $0$ în secunda $B$ şi merge în direcţia staţiei $N - 1$. Secundele $A$ şi $B$ sunt nişte momente *oarecare* în care trenurile se află în staţia $0$. Ele se vor afla în staţia $0$ şi în momentele $A + k * T$, respectiv $B + k * T$, pentru orice $k$ *întreg*. Cu alte cuvinte, trenurile au circulat dintotdeauna şi vor circula pentru totdeauna.
 
Dorim să evaluăm eficienţa metroului din Zalău. În acest scop vom nota cu $getTime(Start, End, EntryTime)$ timpul minim necesar pentru a ajunge din staţia $Start$ în staţia $End$ dacă suntem pe peron la secunda $EntryTime$. Pentru a avea o imagine generală a experienţei călătorului obişnuit dorim să calculăm valoarea expresiei:
 
$Suma(getTime(Start, End, EntryTime), 0 ≤ Start ≤ N - 1, 0 ≤ End ≤ N - 1, 0 ≤ EntryTime ≤ T - 1) modulo (10^9^ + 7)$
h2. Date de intrare
Fişierul de intrare $metrou3.in$ ...
Fişierul de intrare $metrou3.in$ va conţine pe prima sa linie valorile $N A B$. A doua linie va conţine cele $N$ valori ale şirului $D$.
h2. Date de ieşire
În fişierul de ieşire $metrou3.out$ ...
În fişierul de ieşire $metrou3.out$ se va afla o singură valoare reprezentând valoarea sumei cerute *modulo (10^9^ + 7)*.
h2. Restricţii
* $... ≤ ... ≤ ...$
* $3 ≤ N ≤ 100.000$
* $1 ≤ D[i] ≤ 200.000.000$
* $N ≤ T ≤ 200.000.000$
* $0 ≤ A, B ≤ T - 1$
* Dacă $Start = End$ atunci valoarea funcţiei $getTime()$ este $0$.
h2. Exemplu
table(example). |_. metrou3.in |_. metrou3.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
 
h3. Explicaţie
| 3 0 0
1 1 1| 34|
| 4 0 1
1 1 1 1| 120|
...
== include(page="template/taskfooter" task_id="metrou3") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.