#include #include #include #include using namespace std; int main() { int N; long long K; cin >> N >> K; vector A(N), B(N); long long s = 0; for (int i = 0; i < N; i++) { cin >> A[i] >> B[i]; B[i]++; s += B[i] - A[i]; } int l = 0; int r = (int)1e9 + 1; while (r - l > 1) { int m = (l + r) / 2; long long c = 0; for (int i = 0; i < N; i++) { c += max(0, m - A[i]); c -= max(0, m - B[i]); } if (c >= K) { r = m; } else { l = m; } } cout << l << endl; }