QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 128 MB 満点: 100

#8499. Antymateria

統計

Firma testuje technologię otrzymywania antymaterii wykorzystywanej jako paliwo w międzyplanetarnym statku kosmicznym. Antymateria powstaje w wyniku specjalnych eksperymentów w reaktorze.

Znanych jest $n$ typów eksperymentów prowadzących do otrzymania antymaterii. W wyniku eksperymentu typu $i$ do pojemnika wyjściowego reaktora trafia od $l_i$ do $r_i$ gramów antymaterii. Ze względów bezpieczeństwa nie wolno gromadzić w pojemniku więcej niż $a$ gramów antymaterii.

Koszt przeprowadzenia eksperymentu typu $i$ wynosi $c_i$, a wartość jednego grama otrzymanej antymaterii wynosi $10^9$.

Jeżeli po przeprowadzeniu eksperymentów w pojemniku znajduje się $t$ gramów antymaterii, a łączne koszty eksperymentów w reaktorze wyniosły $s$, zysk określa wzór $t\cdot10^9-s$. Firma musi opracować strategię przeprowadzania eksperymentów, która maksymalizuje zysk możliwy do zagwarantowania.

W zależności od wyników poprzednich eksperymentów strategia określa, jaki typ eksperymentu należy przeprowadzić, albo podejmuje decyzję o zakończeniu eksperymentów. Strategia pozwala zagwarantować zysk $x$, jeśli dla dowolnych wyników eksperymentów, po pierwsze, w pojemniku reaktora znajduje się nie więcej niż $a$ gramów antymaterii, a po drugie, zysk wynosi co najmniej $x$.

Na przykład załóżmy, że możliwy jest tylko jeden typ eksperymentu, wytwarzający od $4$ do $6$ gramów antymaterii, jego koszt wynosi $10$, a pojemność pojemnika to $17$ gramów. Wtedy po dwukrotnym przeprowadzeniu eksperymentu w pojemniku może znajdować się od $8$ do $12$ gramów antymaterii. Jeżeli otrzymano $12$ gramów, nie można już przeprowadzić kolejnego eksperymentu, ponieważ w przypadku otrzymania $6$ gramów pojemnik mógłby się przepełnić. W pozostałych przypadkach można przeprowadzić eksperyment po raz trzeci i otrzymać od $12$ do $17$ gramów antymaterii. W najgorszym przypadku trzeba przeprowadzić eksperyment trzykrotnie, ponosząc łączny koszt $30$, a zysk wyniesie $(12\cdot10^9-30)=11\,999\,999\,970$.

Należy napisać program wyznaczający maksymalny zysk $x$, który można zagwarantować.

Wejście

Pierwszy wiersz zawiera dwie liczby całkowite: $n$, liczbę typów eksperymentów, oraz $a$, maksymalną dopuszczalną ilość antymaterii w pojemniku, gdzie $1\le n\le100$ i $1\le a\le2\,000\,000$.

Każdy z następnych $n$ wierszy zawiera trzy liczby całkowite $l_i$, $r_i$ i $c_i$: odpowiednio minimalną i maksymalną ilość antymaterii otrzymywanej w wyniku eksperymentu typu $i$ oraz koszt eksperymentu tego typu, gdzie $1\le l_i\le r_i\le a$ i $1\le c_i\le100$.

Wyjście

Wyjście powinno zawierać jedną liczbę całkowitą: maksymalny zysk $x$, który można zagwarantować.

Przykład

Wejście 1

1 17
4 6 10

Wyjście 1

11999999970

Wejście 2

2 11
2 2 100
3 5 5

Wyjście 2

9999999890

Podzadania

Podzadanie Punkty Ograniczenia na $n$ Ograniczenia na $a$ Dodatkowe ograniczenia Wymagane podzadania Wyniki podczas zawodów
$1$ $10$ $n=1$ $1\le a\le1000$ Dla każdego testu
$2$ $10$ $1\le n\le10$ $1\le a\le1000$ $l_i=r_i$ Dla każdego testu
$3$ $20$ $1\le n\le10$ $1\le a\le1000$ $1,2$ Dla każdego testu
$4$ $20$ $1\le n\le100$ $1\le a\le50\,000$ $1$–$3$ Dla każdego testu
$5$ $4$ $1\le n\le100$ $1\le a\le100\,000$ $1$–$4$ Punkty
$6$ $4$ $1\le n\le100$ $1\le a\le200\,000$ $1$–$5$ Punkty
$7$ $4$ $1\le n\le100$ $1\le a\le300\,000$ $1$–$6$ Punkty
$8$ $4$ $1\le n\le100$ $1\le a\le400\,000$ $1$–$7$ Punkty
$9$ $4$ $1\le n\le100$ $1\le a\le500\,000$ $1$–$8$ Punkty
$10$ $4$ $1\le n\le100$ $1\le a\le800\,000$ $1$–$9$ Punkty
$11$ $4$ $1\le n\le100$ $1\le a\le1\,100\,000$ $1$–$10$ Punkty
$12$ $4$ $1\le n\le100$ $1\le a\le1\,400\,000$ $1$–$11$ Punkty
$13$ $4$ $1\le n\le100$ $1\le a\le1\,700\,000$ $1$–$12$ Punkty
$14$ $4$ $1\le n\le100$ $1\le a\le2\,000\,000$ $1$–$13$ Punkty

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.