Codeforces Round 608 (Div. 2)
D
Portals
Codeforces
2100
原题
← CE →
翻译中…

You play a strategic video game (yeah, we ran out of good problem legends). In this game you control a large army, and your goal is to conquer $n$ castles of your opponent.

翻译中…

Let's describe the game process in detail. Initially you control an army of $k$ warriors. Your enemy controls $n$ castles; to conquer the $i$-th castle, you need at least $a_i$ warriors (you are so good at this game that you don't lose any warriors while taking over a castle, so your army stays the same after the fight). After you take control over a castle, you recruit new warriors into your army — formally, after you capture the $i$-th castle, $b_i$ warriors join your army. Furthermore, after capturing a castle (or later) you can defend it: if you leave at least one warrior in a castle, this castle is considered defended. Each castle has an importance parameter $c_i$, and your total score is the sum of importance values over all defended castles. There are two ways to defend a castle:

翻译中…
  • if you are currently in the castle $i$, you may leave one warrior to defend castle $i$;
  • there are $m$ one-way portals connecting the castles. Each portal is characterised by two numbers of castles $u$ and $v$ (for each portal holds $u \gt v$). A portal can be used as follows: if you are currently in the castle $u$, you may send one warrior to defend castle $v$.
翻译中…

Obviously, when you order your warrior to defend some castle, he leaves your army.

翻译中…

You capture the castles in fixed order: you have to capture the first one, then the second one, and so on. After you capture the castle $i$ (but only before capturing castle $i + 1$) you may recruit new warriors from castle $i$, leave a warrior to defend castle $i$, and use any number of portals leading from castle $i$ to other castles having smaller numbers. As soon as you capture the next castle, these actions for castle $i$ won't be available to you.

翻译中…

If, during some moment in the game, you don't have enough warriors to capture the next castle, you lose. Your goal is to maximize the sum of importance values over all defended castles (note that you may hire new warriors in the last castle, defend it and use portals leading from it even after you capture it — your score will be calculated afterwards).

翻译中…

Can you determine an optimal strategy of capturing and defending the castles?

翻译中…

Input

翻译中…

The first line contains three integers $n$, $m$ and $k$ ($1 \le n \le 5000$, $0 \le m \le \min(\frac{n(n - 1)}{2}, 3 \cdot 10^5)$, $0 \le k \le 5000$) — the number of castles, the number of portals and initial size of your army, respectively.

翻译中…

Then $n$ lines follow. The $i$-th line describes the $i$-th castle with three integers $a_i$, $b_i$ and $c_i$ ($0 \le a_i, b_i, c_i \le 5000$) — the number of warriors required to capture the $i$-th castle, the number of warriors available for hire in this castle and its importance value.

翻译中…

Then $m$ lines follow. The $i$-th line describes the $i$-th portal with two integers $u_i$ and $v_i$ ($1 \le v_i \lt u_i \le n$), meaning that the portal leads from the castle $u_i$ to the castle $v_i$. There are no two same portals listed.

翻译中…

It is guaranteed that the size of your army won't exceed $5000$ under any circumstances (i. e. $k + \sum\limits_{i = 1}^{n} b_i \le 5000$).

翻译中…

Output

翻译中…

If it's impossible to capture all the castles, print one integer $-1$.

翻译中…

Otherwise, print one integer equal to the maximum sum of importance values of defended castles.

翻译中…

Note

翻译中…

The best course of action in the first example is as follows:

翻译中…
  1. capture the first castle;
  2. hire warriors from the first castle, your army has $11$ warriors now;
  3. capture the second castle;
  4. capture the third castle;
  5. hire warriors from the third castle, your army has $13$ warriors now;
  6. capture the fourth castle;
  7. leave one warrior to protect the fourth castle, your army has $12$ warriors now.
翻译中…

This course of action (and several other ones) gives $5$ as your total score.

翻译中…

The best course of action in the second example is as follows:

翻译中…
  1. capture the first castle;
  2. hire warriors from the first castle, your army has $11$ warriors now;
  3. capture the second castle;
  4. capture the third castle;
  5. hire warriors from the third castle, your army has $13$ warriors now;
  6. capture the fourth castle;
  7. leave one warrior to protect the fourth castle, your army has $12$ warriors now;
  8. send one warrior to protect the first castle through the third portal, your army has $11$ warriors now.
翻译中…

This course of action (and several other ones) gives $22$ as your total score.

翻译中…

In the third example it's impossible to capture the last castle: you need $14$ warriors to do so, but you can accumulate no more than $13$ without capturing it.

翻译中…

样例

Input #1
4 3 7
7 4 17
3 0 8
11 2 0
13 3 5
3 1
2 1
4 3
Output #1
5
InputCopy OutputCopy
Input #2
4 3 7
7 4 17
3 0 8
11 2 0
13 3 5
3 1
2 1
4 1
Output #2
22
InputCopy OutputCopy
Input #3
4 3 7
7 4 17
3 0 8
11 2 0
14 3 5
3 1
2 1
4 3
Output #3
-1
InputCopy OutputCopy
题目信息
题号
1271D
时间限制
2 s
内存限制
256 MB
标签
数据结构
动态规划
贪心
模拟
排序

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。