Friends and Travel costs

AtCoder
IDabc203_c
Time2000ms
Memory256MB
Difficulty
There are $10^{100}+1$ villages, labeled with numbers $0$, $1$, $\ldots$, $10^{100}$. For every integer $i$ between $0$ and $10^{100}-1$ (inclusive), you can pay $1$ yen (the currency) in Village $i$ to get to Village $(i + 1)$. There is no other way to travel between villages. Taro has $K$ yen and is in Village $0$ now. He will try to get to a village labeled with as large a number as possible. He has $N$ friends. The $i$\-th friend, who is in Village $A_i$, will give Taro $B_i$ yen when he reaches Village $A_i$. Find the number with which the last village he will reach is labeled. ## Constraints * $1 \leq N \leq 2\times 10^5$ * $1 \leq K \leq 10^9$ * $1 \leq A_i \leq 10^{18}$ * $1 \leq B_i \leq 10^9$ * All values in input are integers. ## Input Input is given from Standard Input in the following format: $N$ $K$ $A_1$ $B_1$ $:$ $A_N$ $B_N$ [samples]
Samples
Input #1
2 3
2 1
5 10
Output #1
4

Takahashi will travel as follows:

*   Go from Village $0$ to Village $1$, for $1$ yen. Now he has $2$ yen.
*   Go from Village $1$ to Village $2$, for $1$ yen. Now he has $1$ yen.
*   Get $1$ yen from the $1$\-st friend in Village $2$. Now he has $2$ yen.
*   Go from Village $2$ to Village $3$, for $1$ yen. Now he has $1$ yen.
*   Go from Village $3$ to Village $4$, for $1$ yen. Now he has $0$ yen, and he has no friends in this village, so his journey ends here.

Thus, we should print $4$.
Input #2
5 1000000000
1 1000000000
2 1000000000
3 1000000000
4 1000000000
5 1000000000
Output #2
6000000000

Note that the answer may not fit into a $32$\-bit integer.
Input #3
3 2
5 5
2 1
2 2
Output #3
10

He may have multiple friends in the same village.
API Response (JSON)
{
  "problem": {
    "name": "Friends and Travel costs",
    "description": {
      "content": "There are $10^{100}+1$ villages, labeled with numbers $0$, $1$, $\\ldots$, $10^{100}$.   For every integer $i$ between $0$ and $10^{100}-1$ (inclusive), you can pay $1$ yen (the currency) in Village $i",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc203_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There are $10^{100}+1$ villages, labeled with numbers $0$, $1$, $\\ldots$, $10^{100}$.  \nFor every integer $i$ between $0$ and $10^{100}-1$ (inclusive), you can pay $1$ yen (the currency) in Village $i...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments