== include(page="template/taskheader" task_id="senzori") ==
De-a lungul autostrazii Soarelui sunt amplasati $N$ senzori, numerotati in ordinea de la Bucuresti spre Constanta, de la $1$ la $N$. In timpul unei zile, senzorii inregistreaza date in continuu, cu exceptia unui anumit interval de timp; mai exact, pentru orice senzor $i$ exista un interval $[T{~1,i~},T{~2,i~})$ in care senzorul trebuie sa trimita datele inregistrate catre statia centrala (acest interval de timp poate fi diferit de la un senzor la altul). Durata de transmitere a datelor senzorului $i$ este $d{~i~}$, iar datele trebuie sa fie transmise intr-un interval de timp $[t{~start,i~},t{~start,i~}+d{~i~}) ⊆ [T{~1,i~},T{~2,i~})$ (momentul $t{~start,i~}$ nu este dat). Datele unui senzor $i$ au o valoare $v{~i~}$ (in functie de importanta strategica a amplasarii senzorului). Senzorii comunica wireless cu statia centrala, pe aceeasi frecventa, si de aceea pot aparea interferente la transmisia datelor senzorilor cu numere de ordine consecutive. Asadar, intervalele de timp in care sunt transmise datele a doi senzori $i$ si $i+1$ $(1≤i<N)$ trebuie sa fie disjuncte: $[t{~start,i~},t{~start,i~}+d{~i~}) ∩ [t{~start,i+1~},t{~start,i+1~}+d{~i+1~}) = ∅$. Aceasta restrictie poate conduce la situatia neplacuta in care nu toti senzorii vor putea trimite datele catre statia centrala in intervalul de timp disponibil ( $[T{~1,i~},T{~2,i~})$ pentru senzorul $i$). In acest caz, se doreste determinarea unei submultimi de senzori care vor transmite datele catre statia centrala si pentru care suma valorilor datelor transmise este maxima.
Sa se determine suma maxima a valorilor datelor transmise de o submultime a celor $N$ senzori, astfel incat transmisia datelor acestor senzori sa respecte toate restrictiile specificate.
Poveste si cerinta...
h2. Date de intrare
Fisierul de intrare $senzori.in$ contine pe prima linie numarul natural $N$, reprezentand numarul de senzori. Fiecare dintre urmatoarele $N$ linii contine cate $4$ numere intregi separate prin spatiu: $T{~1,i~} T{~2,i~} d{~i~} v{~i~}$; a $i$-a dintre aceste linii corespunde senzorului cu numarul $i$.
Fisierul de intrare $senzori.in$ ...
h2. Date de iesire
In fisierul de iesire $senzori.out$ veti afisa suma maxima a valorilor datelor transmise de o submultime de senzori care poate trimite datele catre statia centrala respectand toate restrictiile specificate in enunt.
In fisierul de iesire $senzori.out$ ...
h2. Restrictii
* $1 ≤ N ≤ 2000$
* $0 ≤ T{~1,i~} < T{~2,i~} ≤ 2000$
* $1 ≤ d{~i~} ≤ T{~2,i~}-T{~1,i~}$
* $1 ≤ v{~i~} ≤ 10000$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. senzori.in |_. senzori.out |
| 4
0 5 3 6
1 4 3 7
2 8 3 5
6 8 2 5
| 16
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicatie
Senzorii care vor trimite date catre statia centrala sunt: $1$, $3$ si $4$. Senzorul $1$ va trimite datele in intervalul $[0,3)$, senzorul $3$ va trimite datele in intervalul $[3,6)$, iar senzorul $4$ in intervalul $[6,8)$. Valoarea totala a datelor trimise este $6+5+5=16$.
...
== include(page="template/taskfooter" task_id="senzori") ==