12109. Залишитися живим


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан вирішив насолодитися обідом із \(N\) страв у ресторані.

\(i\)-та страва:

  • якщо \(X_i ​ =0\), антидотальна страва зі смаком \(Y_i\) ​;
  • якщо \(X_i ​ =1\), отруйна зі смаком \(Y_i ​ \).

Коли Степан їсть страву, його стан змінюється наступним чином:

  • спочатку у Степана здоровий шлунок.
  • Коли у нього здоровий шлунок,

    якщо він їсть антидот, його шлунок залишається здоровим;

    якщо він їсть отруйну їжу, у нього розлад шлунка.

  • Коли у нього розлад шлунку,

    якщо він їсть антидот, його шлунок стає здоровим;

    якщо він з'їсть отруйну їжу, він помре.

Прийом їжі відбувається наступним чином.

Повторіть наступний процес для \(i=1,…,N\) у цьому порядку.

  • Спочатку \(i\)-ту страву подають Степану.
  • Далі він вибирає, «їсти» або «пропустити» страву.

    Якщо він вирішує «з’їсти» це, він їсть \(i\)-ту страву. Його стан також змінюється в залежності від прийому їжі.

    Якщо він вирішив «пропустити» це, він не їсть \(i\)-ту страву. Цю страву не можна подавати пізніше або якось зберегти.

  • Нарешті (якщо його стан змінюється), якщо він не мертвий,

    якщо \(i \neq N\), він переходить до наступного курсу.

    якщо \(i=N\), він вийде з ресторану живим.

На нього чекає важлива зустріч, тому він повинен вибратися звідти живим.

Знайдіть максимально можливу суму смаку страв, які він зʼїсть (або 0, якщо він нічого не зʼїсть).

Обмеження

  • Усі вхідні значення є цілими числами.
  • \(1≤N≤3×10^5\)
  • \(X_i ​ ∈ \{0,1\}\) Іншими словами, \(X_i\) ​ дорівнює 0 або 1.
  • \(−10^9 ≤Y_i ​ ≤10^9\)

Формат вхідних даних

Перший рядок містить ціле число \(N\).

Наступні  \(N\) рядків містять цілі числа \(X_i, Y_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

5
1 100
1 300
0 -200
1 500
1 300

Приклад вихідних даних

600

Наступні варіанти призводять до того, що загальна кількість страв, які він їсть, становить 600, що є максимально можливим.

  • Пропускає 1 блюдо. Зараз у нього здоровий шлунок.
  • Їсть 2-е блюдо. Зараз у нього розлад шлунка, а загальна кількість страв, які він з'їдає, становить 300.
  • Він їсть 3-тю страву. Тепер у нього знову здоровий шлунок, а загальна кількість страв, які він їсть, становить 100.
  • Він їсть 4-ту страву. Зараз у нього розлад шлунку, а загальна кількість страв, які він з'їв, становить 600.
  • 5-ту страву він пропускає. Зараз у нього розлад шлунка. Зрештою, він не мертвий, тому вибирається з ресторану живим.

Приклад вхідних даних

4
0 -1
1 -2
0 -3
1 -4

Приклад вихідних даних

0

Приклад вхідних даних

15
1 900000000
0 600000000
1 -300000000
0 -700000000
1 200000000
1 300000000
0 -600000000
1 -900000000
1 600000000
1 -100000000
1 -400000000
0 900000000
0 200000000
1 -500000000
1 900000000

Приклад вихідних даних

4100000000

Коментарі

Ще немає коментарів.