만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

작업

시간 제한2초메모리 제한1024 MB

요약
N개의 작업마다 이익과 선행 작업이 주어질 때, 시작 금액 s유로로 잔액이 음수가 되지 않게 작업을 골라 얻을 수 있는 최대 이익을 구합니다.
난이도

보통10점 중 7점

유형
트리, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

당신은 고객의 의뢰를 완료하여 돈을 버는 사업을 운영하고 있습니다. 1번부터 NN번까지 번호가 붙은 NN개의 일회성 작업 중에서 고를 수 있습니다.

작업 ii를 완료하면 xix_i유로의 이익을 얻습니다. 이익은 음수(xi<0x_i < 0)일 수도 있습니다.

일부 작업은 다른 작업에 의존합니다. 작업 ii를 시작하기 전에 번호 pip_i의 작업을 먼저 완료해야 할 수 있습니다. 따라서 이익이 큰 작업이라도 이익이 음수인 작업에 의존하면 겉보기보다 매력이 떨어집니다. pi=0p_i = 0이면 작업 ii는 의존하는 작업이 없습니다.

현재 ss유로가 있습니다. 의존 관계를 지키는 범위에서 어떤 작업을 할지, 어떤 순서로 할지 정할 수 있습니다. 돈은 어느 시점에서도 음수가 되어서는 안 됩니다.

NN개의 작업 중 일부(하나도 고르지 않는 경우도 포함)를 원하는 순서로 완료했을 때 얻을 수 있는 최대 이익을 구하세요.

입력

첫 번째 줄에 작업의 개수 NN과 처음 가진 금액 ss가 두 정수로 주어집니다.

이어서 NN개의 줄이 주어집니다. ii번째 줄에는 작업 ii의 이익 xix_i와 선행 작업의 번호 pip_i가 두 정수로 주어집니다. pi=0p_i = 0이면 선행 작업이 없습니다.

출력

얻을 수 있는 최대 이익을 나타내는 정수 하나를 출력하세요.

제한

  • 1≤N≤3⋅1051 \le N \le 3 \cdot 10^5
  • 0≤s≤10180 \le s \le 10^{18}
  • 모든 1≤i≤N1 \le i \le N에 대해 −109≤xi≤109-10^9 \le x_i \le 10^9
  • 모든 1≤i≤N1 \le i \le N에 대해 0≤pi<i0 \le p_i < i

예제1

  1. 예제 1

    입력
    6 1
    3 0
    -3 1
    -5 0
    2 1
    6 3
    -4 5
    
    예상 출력
    6