問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
あなたは N 人の従業員を雇っていて、i 番目の従業員の作業効率は A_i です。つまり、1 時間に作業量 A_i だけ作業をおこなうことができます。
また、現在 i 番目の従業員に割り当てられている作業量は B_i です。
近頃忙しくなったあなたは、各従業員に同じ作業量の作業を追加で割り当てることにしました。
ただし、予算の都合上、従業員の作業時間の合計が K 以下になるようにしたいです。
また、割り当てる作業量は非負整数 (0 以上の整数) にしたいです。
そのような条件の下で、各従業員に追加で割り当てることができる作業量の最大値を求めてください。
ただし、各従業員の作業時間が端数になった場合は、それぞれ 1 時間単位で切り上げるものとします。
N K
A_1 B_1
A_2 B_2
...
A_N B_N
問題の答えを、1 行に整数で出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力はすべて整数
・ 1 ≦ N ≦ 200,000 = 2 × 10^5
・ 1 ≦ K ≦ 1,000,000,000,000 = 10^12
・ 1 ≦ A_i, B_i ≦ 1,000,000 = 10^6
・ 現在の作業時間の合計は K 以下である
2 100
20 1000
30 1000
200