Diferente pentru problema/popcorn intre reviziile #9 si #1

Diferente intre titluri:

Popcorn
popcorn

Diferente intre continut:

== include(page="template/taskheader" task_id="popcorn") ==
Cu toţii ştim că popcornul este o adevărată delicatesă culinară. În pregătirile tale pentru lotul de anul acesta (şi pentru petrecerile de după), ai făcut comandă de $N$ tipuri de floricele de porumb pentru microunde. Fiecare tip are asociate $3$ valori:
 
* $A[i] =$ Timpul (în secunde) la care orice floricică de acel tip “pocneşte”
* $B[i] =$ Timpul (în secunde) la care orice floricică de acel tip “se arde”
* $C[i] =$ Cantitatea (în floricele) a respectivului tip
 
Mai ai la dispoziţie $M$ pungi pentru floricele de unică folosinţă de capacitate foarte mare (practic, infinită) şi un cuptor cu microunde. Cum, bineînţeles, nimănui nu îi plac floricelele nefăcute sau cele arse, îţi doreşti să le partiţionezi convenabil în cele M pungi şi apoi să le introduci pe rând în cuptorul cu microunde, setându-i un timp de preparare $prep[i]$ corespunzător, astfel încât după cele $M$ tranşe să obţii cât mai multe floricele comestibile.
 
Formal, o floricică de tipul $i$ introdusă în punga $j$, setată la timpul (în secunde) de preparare $prep[j]$ este comestibilă dacă şi numai dacă $A[i] ≤ prep[j] < B[i].$
 
Fiind date cele $N$ tipuri de floricele şi numărul de pungi disponibile, trebuie să găseşti o partiţie convenabilă şi timpii optimi de preparare pentru fiecare pungă, astfel încât la final să obţii numărul maxim de floricele comestibile, pe care să îl afişezi în fişierul de ieşire. Prea uşor!
Poveste şi cerinţă...
h2. Date de intrare
Fişierul de intrare $popcorn.in$ conţine pe prima linie numerele naturale $N$ şi $M$, separate printr-un spaţiu, cu semnificaţia din enunţ. Pe următoarele $N$ linii se vor afla valorile $A[i],  B[i],  C[i]$ corespunzătoare fiecărui tip de floricele.
Fişierul de intrare $popcorn.in$ ...
h2. Date de ieşire
Fişierul $popcorn.out$ va conţine un singur număr natural reprezentând numărul maxim de floricele comestibile care se poate obţine.
În fişierul de ieşire $popcorn.out$ ...
h2. Restricţii
* $1 ≤ M ≤ N ≤ 200 000$
* $1 ≤ A[i] < B[i] ≤ 200 000$
* Numărul total de floricele nu depăşeşte $10^9^$
* Unele pungi pot fi goale!
* $X = max{N, B[ 1 ], B[ 2 ], …, B[N]}$
* Pentru $10$ puncte: $X ≤ 550, M ≤ 100$
* Pentru alte $10$ puncte: $X ≤ 3 000, M ≤ 50$
* Pentru alte $10$ puncte: $M ≤ X ≤ 3 000$
* Pentru alte $10$ puncte: $X ≤ 50 000, M = 3$
* Pentru alte $20$ de puncte: $X ≤ 50 000, M ≤ 20$
* Pentru alte $15$ puncte: $X ≤ 200 000, M ≤ 50$
* Pentru alte $15$ puncte: $M ≤ X ≤ 50 000$
* Pentru restul de $10$ puncte: restricţiile originale
* $... &le; ... &le; ...$
h2. Exemplu
table(example). |_. popcorn.in |_. popcorn.out |_. Explicaţie |
|5 2
2 4 3
1 5 6
4 8 10
7 8 2
10 11 2
|21
| Avem 5 tipuri de floricele şi 2 pungi disponibile.
Una din soluţiile posibile este:
Punga 1 va conţine tipurile 1 şi 2 şi va fi preparată la timpul 3.
Punga 2 va conţine tipurile 3, 4, 5 şi va fi preparată la timpul 7.
Toate tipurile de floricele vor fi preparate cu succes, în afară de tipul 5, care vor rămâne în stadiul de boabe.
|
|3 3
1 2 2
2 3 3
1 3 5
|10
|Putem alege pungile astfel:
Punga 1 va conţine tipurile 1, 3 şi va fi preparată la timpul 1.
Punga 2 va conţine tipul 2 şi va fi preparată la timpul 2.
Punga 3 va fi goală.
|
table(example). |_. popcorn.in |_. popcorn.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
 
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="popcorn") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.