牛牛的聚会
题号:NC236734
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛参加了牛妹的派对。
牛牛面前有一个圆桌,圆桌边缘按顺序摆上了 n 个蛋糕(第一个蛋糕和第 n 个蛋糕相邻)。
每个蛋糕都有一个饱腹值和奶油含量。
牛牛不喜欢吃奶油,所以他想要在保证自己能吃饱(所吃蛋糕的饱腹度的和大于等于 s)的情况下,所选择的蛋糕中奶油含量最大的那一个的奶油含量越低越好。我们知道,牛牛一直都是个绅士。所以他选择的蛋糕应该是相邻的(也就是对应圆上的一段弧(也可以是整个圆))。
现在它想请你帮它计算在能够吃饱的情况下,他吃到蛋糕中奶油含量最高的那一个最低会是多少?

输入描述:

输入共三行。
第一行两个正整数 n, s
接下来的一行 n 个整数 a_1 ... a_n 代表第一个到第 n 个蛋糕每个蛋糕的饱腹值。
接下来的一行 n 个整数 b_1 ... b_n 代表第一个到第 n 个蛋糕每个蛋糕的奶油含量。
保证:

输出描述:

输出共一行代表答案。
特别的,若牛牛吃掉所有蛋糕都无法吃饱则输出 -1 。
示例1

输入

复制
5 9
4 3 7 6 1
1 3 9 2 5

输出

复制
5

说明

选择第 1,2,4,5 个蛋糕:
    饱腹值:4+3+6+1=14>9
    最大奶油含量:\max\{1,3,2,5\}=5
所以输出 5。