Supermarket#5754

Supermarket

1 saniyə
64 meqabayt
Çox asan

Supermarketdə satılan məhsulların cəmi var. Hər bir məhsul üçün x \in \textbf{Prod}, satışı müddətində d_x ədədində, supermarketə p_x gəlir gətirir (müddət satışın başladığı andan etibarən tam ədədlərlə ölçülür). Hər bir məhsulun satışı üçün dəqiq bir vaxt lazımdır.

Satış cədvəli—sıraya salınmış məhsulların alt cəmidir, Sell \subseteq Prod, belə ki, hər bir məhsul x \in Sell, müəyyən sırada, son müddəti d_x-ə qədər satılır (yəni, satışının tamamlanması d_x-dən gec olmayacaq). Satış cədvəlinin qazancı üçün \text{Profit}(Sell) = \sum_{x \in Sell} p_x olur. Ən yaxşı satış cədvəli—maksimum qazanc verən cədvəldir.

Məsələn, \textbf{Prod} = \{a, b, c, d\} dəstini nəzərdən keçirək: (p_a, d_a) = (50, 2), (p_b, d_b) = (10, 1), (p_c, d_c) = (20, 2) və (p_d, d_d) = (30, 1). Mümkün satış cədvəlləri cədvəldə verilib (göstərilməyib). Məsələn, Sell = \{d, a\} cədvəli məhsul satışa -da başlayır və -də bitir, məhsul isə -də başlayıb -də bitir. Hər iki məhsul son müddətinə qədər satılır. Bu, maksimal qazanc gətirən optimal cədvəldir və qazancı -dir.

Verilmiş məhsullar dəstini oxuyub hər dəstə üçün optimal satış cədvəlinin qazancını hesablayan proqram yazın.

Giriş

Hər məhsullar dəsti 0 \le n \le 10\,000 tam ədədi ilə başlayır—məhsulların sayı, sonra ədəd p_i, d_i cütü gəlir (1 \le p_i \le 10\,000, 1 \le d_i \le 10\,000)—-ci məhsulun gəliri və son müddəti. Girişdə bir neçə dəst verilir, sıralamasında boşluqlar sərbəstdir və verilənlər doğru təqdim edilmişdir. Giriş faylı EOF-la bitir.

Çıxış

Hər dəst üçün optimal satış cədvəlinin maksimum kazancını ayrıca sətirdə çap edin.

Nümunələr

Nümunə 1

Loading
Loading