작업
시간 제한2초메모리 제한1024 MB
N개의 작업마다 이익과 선행 작업이 주어질 때, 시작 금액 s유로로 잔액이 음수가 되지 않게 작업을 골라 얻을 수 있는 최대 이익을 구합니다.
문제
당신은 고객의 의뢰를 완료하여 돈을 버는 사업을 운영하고 있습니다. 1번부터 번까지 번호가 붙은 개의 일회성 작업 중에서 고를 수 있습니다.
작업 를 완료하면 유로의 이익을 얻습니다. 이익은 음수()일 수도 있습니다.
일부 작업은 다른 작업에 의존합니다. 작업 를 시작하기 전에 번호 의 작업을 먼저 완료해야 할 수 있습니다. 따라서 이익이 큰 작업이라도 이익이 음수인 작업에 의존하면 겉보기보다 매력이 떨어집니다. 이면 작업 는 의존하는 작업이 없습니다.
현재 유로가 있습니다. 의존 관계를 지키는 범위에서 어떤 작업을 할지, 어떤 순서로 할지 정할 수 있습니다. 돈은 어느 시점에서도 음수가 되어서는 안 됩니다.
개의 작업 중 일부(하나도 고르지 않는 경우도 포함)를 원하는 순서로 완료했을 때 얻을 수 있는 최대 이익을 구하세요.
입력
첫 번째 줄에 작업의 개수 과 처음 가진 금액 가 두 정수로 주어집니다.
이어서 개의 줄이 주어집니다. 번째 줄에는 작업 의 이익 와 선행 작업의 번호 가 두 정수로 주어집니다. 이면 선행 작업이 없습니다.
출력
얻을 수 있는 최대 이익을 나타내는 정수 하나를 출력하세요.
제한
- 모든 에 대해
- 모든 에 대해